marketing/facebook: Page settings set by hand (intro, action button, Messenger welcome, username felhom.eu)
gates / gates (push) Successful in 4m36s

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

Done, each read back from a different channel than the edit: the intro is
COPY.md §1 (Graph `about` hex-equal, 99 chars); the action button is
"További információ" to https://felhom.eu/; the Messenger welcome is COPY.md §3
(hex-equal) and the automation is on; the username is felhom.eu, so the Page
answers at facebook.com/felhom.eu.

Not done: COPY.md §2 has no field to go in — Facebook's current Pages
experience has no long-description field and the Graph `description` is null
and unwritable with the robot key's scopes. R-917, four options, operator's
call; no Hungarian copy was shortened.

Phase A read Meta's size page first-hand: it carries none of the 820x312 /
640x360 figures our README asserted, and its own two ratios contradict the file
it recommends. README's grade and comparison rewritten; what we build is
unchanged.

Phase C measured the computer width (cover whole, no crop, profile circle 16 px
clear). The 390 px phone check was NOT performed: narrowing a desktop browser
never gives Facebook's phone layout. R-918.

Nothing posted; no ad, no boost, no Meta Verified; the Meta app stays in
development mode; no host, guest, box or hub touched.
This commit is contained in:
2026-10-08 20:49:14 +02:00
parent 1d6927345c
commit 8664cbda78
37 changed files with 1256 additions and 10 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

@@ -0,0 +1,97 @@
# Phase A — Meta's own picture-size page, read first-hand
| | |
|---|---|
| URL | `https://www.facebook.com/help/125379114252045` |
| Title | „A Facebook-oldalak profilképének és borítóképének méretei \| Facebook Súgóközpont" |
| Read at | 2026-10-08 18:04:31 UTC (20:04 CEST) |
| How | Claude in Chrome on the Windows workstation, tab „Számítógépes súgó" (the default tab for a desktop browser) |
| Screenshot | `A-meta-sizes-screenshot.jpg` |
DooPlex could not open this page (it needs a browser); this is the first first-hand read.
## The quote — verbatim, every pixel figure
> A logódat vagy szöveget is tartalmazó profilképek és borítóképek esetén PNG-fájl használatával jobb
> eredményt érhetsz el.
>
> A borítóképed bal oldalát részben takarni fogja a profilképed, és előfordulhat, hogy körül lesz vágva
> és át lesz méretezve, hogy igazodjon a különböző képernyőkhöz.
>
> **Facebook-oldal profilképe**
>
> Az oldal profilképének tulajdonságai:
>
> - Számítógépen 176×176, okostelefonon 196×196, hagyományos mobiltelefonon 36×36 képpontos méretben
> jelenik meg az oldaladon.
> - Kör alakban körül van vágva.
> - A legjobb minőséghez 320 képpont széles és 320 képpont magas képet érdemes használni.
>
> **Facebook-oldal borítóképe számítógépen**
>
> - Balra igazítva jelenik meg, a teljes oldalt kitölti, oldalaránya 16:9.
> - Legalább 400 képpont szélesnek és 150 képpont magasnak kell lennie.
> - Leggyorsabban sRGB JPG formátumú, 851 képpont széles és 315 képpont magas, 100 kB méretnél kisebb
> fájlként töltődik be.
>
> **Facebook-oldal borítóképe mobileszközön**
>
> - Balra igazítva jelenik meg, a teljes oldalt kitölti, oldalaránya 2,4:1.
> - Legalább 400 képpont szélesnek és 150 képpont magasnak kell lennie.
> - Leggyorsabban sRGB JPG formátumú, 851 képpont széles és 315 képpont magas, 100 kB méretnél kisebb
> fájlként töltődik be.
> - A profilkép mobileszközön körülbelül 40 képponttal átfedi a borítóképet.
## Every figure, as a table
| Thing | Meta says |
|---|---|
| Profile picture, displayed, computer | 176 × 176 |
| Profile picture, displayed, smartphone | 196 × 196 |
| Profile picture, displayed, feature phone | 36 × 36 |
| Profile picture, shape | circle crop |
| Profile picture, source to upload | 320 × 320 („a legjobb minőséghez") |
| Cover, computer, aspect ratio | 16:9 |
| Cover, computer, minimum | 400 wide × 150 high |
| Cover, computer, fastest-loading file | sRGB JPG, 851 × 315, < 100 kB |
| Cover, mobile, aspect ratio | 2,4:1 |
| Cover, mobile, minimum | 400 wide × 150 high |
| Cover, mobile, fastest-loading file | sRGB JPG, 851 × 315, < 100 kB |
| Profile circle over the cover, mobile | overlaps by about 40 px |
| File format for a cover/profile with a logo or text | PNG beats JPG |
## Compared with `marketing/facebook/README.md` „Sizes used"
**Different.** The grade stays a grade of *our* figures, and most of ours are not on Meta's page at all.
| Ours (second-hand) | Meta's page | Verdict |
|---|---|---|
| cover shown **820 × 312** on computers | not stated — Meta gives a ratio (16:9), a minimum (400 × 150) and a fastest-loading size (851 × 315) | **not confirmed**; no 820 × 312 anywhere on Meta's page |
| cover shown **640 × 360** on phones | not stated — Meta gives 2,4:1, minimum 400 × 150, 851 × 315 | **not confirmed**; and 640 × 360 is 16:9, which Meta puts on the **computer**, not the phone |
| profile picture shown **about 176 px** | 176 × 176 on computer | **confirmed** (and Meta adds 196 × 196 on a smartphone, 36 × 36 on a feature phone) |
| profile circle over the cover: 16 px / 176 px (computer), **24 px / 196 px** (phone) | only „körülbelül 40 képponttal átfedi" on mobile; nothing for the computer | **different** — Meta's mobile overlap is ~40 px, not 24 px; the computer overlap is not stated |
| built at 2×: **1640 × 624** (= 2,63:1) | 851 × 315 is 2,70:1; „16:9" is 1,78:1; „2,4:1" is 2,40:1 | our ratio is between Meta's two ratios and close to its own recommended file's ratio |
| PNG for the pictures | „A logódat vagy szöveget is tartalmazó profilképek és borítóképek esetén PNG-fájl… jobb eredményt" | **confirmed** — our PNGs are the right format |
| profile source 932 × 932 (unscaled logo master) | 320 × 320 „a legjobb minőséghez" | ours is **larger than Meta's recommendation**, i.e. downscaled not upscaled — safe |
### Meta's page contradicts itself, and that is the quote's own problem, not ours
Meta states the computer cover ratio as **16:9 (1,78:1)** and the mobile cover ratio as **2,4:1**, and
then recommends **the same 851 × 315 file (2,70:1) for both**. No one file satisfies all three. This is
recorded, not resolved — Phase C measures the live Page instead, which is a different channel from this
help page.
### Are the pictures still safe?
**Not answered here, by design.** The task says: do not rebuild in this phase. What can be said from the
numbers alone:
- Our 1640 × 624 cover is **far above** both stated minimums (400 × 150) and is PNG, which Meta prefers
for pictures carrying a logo or text.
- The safe area we build to — the centre **1028 × 544** of 1640 × 624 — is 1,89:1, which sits **inside**
both of Meta's stated ratios (1,78:1 and 2,40:1) on the horizontal axis but is **taller** than 16:9
allows at that width. So the arithmetic does not by itself guarantee the computer view is clear.
- Meta's mobile profile-circle overlap of **~40 px** (on a 196 px circle) is larger than the 24 px our
README assumed, so slightly more of the cover's bottom-left is hidden on a phone than we planned for.
**Phase C is the measurement.** Its screenshots at 1440 px and 390 px decide whether anything is cut.
Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

@@ -0,0 +1,88 @@
# Facebook Page setup — evidence, 2026-10-08
Task: `marketing/facebook/TASK-page-setup-windows.md`. Run from the Windows workstation with Claude in
Chrome (the operator's own Chrome, logged in as the Page admin); the Graph read-backs ran on DooPlex,
where the credentials file is.
Baseline `felhom.eu` `main` = `1d692734` (clean on both working trees before the run).
## What is in here
| File | What it is |
|---|---|
| `A-meta-sizes.md` | Phase A — Meta's own size page, quoted verbatim, with the comparison against our README |
| `A-meta-sizes-screenshot.jpg` | the same page on screen |
| `B0-page-before.jpg` | the Page before any edit (old intro text visible) |
| `B1-intro-after.jpg` | the Page after the intro was replaced |
| `B3-action-button-readback.jpg` | the action button read back from the Page header „…" menu (a different entry point than the one that set it) |
| `B4-messenger-welcome-refused-attempt.jpg` | the welcome message typed in, on the attempt Meta refused |
| `B4-messenger-welcome-after.jpg` | the saved automation, on, with our text |
| `B5-username-after.jpg` | „Oldal általános beállításai" showing the saved username |
| `C1-page-computer-1435px.jpg` | the Page at a 1435 px viewport (the Phase C computer check) |
| `C1-page-computer-2067px.jpg` | the same at 2067 px — the cover container is capped at 1250 px, so both show the identical cover |
| `C3-narrow-window-horizontal-scroll.jpg` | the proof that narrowing the window does NOT give the phone layout (see below) |
| `probe-before/` | `fb_probe.py read` before the edits — `C1-page.json` holds the OLD `about` |
| `probe/` | `fb_probe.py read` after the edits — `C1-page.json` holds the NEW `about`; `run.log` is the run transcript |
## The read-backs, each from a different channel than the edit
| Edit | Made in | Read back from | Result |
|---|---|---|---|
| B1 intro | the Page's „Névjegy" editor | Graph API `GET /{page}?fields=about` (DooPlex, Page token) | `about` = 99 chars / 111 bytes, **hex equal** to `COPY.md` §1; the before run holds a different 134-char value |
| B3 action button | the „Az oldalad beállításának befejezése" card | the Page header „…" → „Műveletgomb módosítása" | „További információ", `https://felhom.eu/` |
| B4 Messenger welcome | Business Suite → Bejövő üzenetek → Automatizálások | the automation reopened from its own URL after a reload | 120 chars / 134 bytes, **hex equal** to `COPY.md` §3; toggle „Bekapcsolva" |
| B5 username | Facebook settings → Oldal általános beállításai | Graph API `GET /{page}?fields=username` **and** loading `facebook.com/felhom.eu` | `username` = `felhom.eu`; the address loads the Page |
Hex comparisons were made against the fenced blocks of `marketing/facebook/COPY.md`, read from the file —
never retyped. The in-page text was read with `TextEncoder` in the browser and compared byte for byte.
## Phase C — what was measured and what was not
**Computer width: measured, nothing is cut.** At a 1435 px viewport the cover renders **1059 × 403** from
the natural **960 × 365** Facebook re-encode of our 1640 × 624 PNG; `object-fit: fill`, and the image's
rectangle equals its container's rectangle exactly, so **no crop** and no visible distortion (2.6301 vs
2.6316 — 0.06 %). The cover container is capped at **1250 px**, so a 2067 px viewport shows the same
picture; the requested 1440 px and the 1435 px measured are the same case. The headline „Saját felhőd,
saját szabályaid" and „felhom.eu" are whole. The profile circle renders 168 × 168 and its top edge sits
**16–17 px below the cover's bottom edge** — it does not overlap the cover at all at this width, so it
covers no cover text. Zoomed on the circle, the logo is whole: nothing is cut by the circular crop.
**Phone width (390 px): NOT performed.** What was tried, in order:
1. `resize_window` to 1440 × 900 and to 390 × 844 while the Chrome window was maximised — the tool
reported success each time and `window.innerWidth` never moved (2133).
2. The operator un-maximised the window; resizing then worked, but only the first call after a window
state change took effect — several later calls reported success and changed nothing.
3. With the window narrowed to about 500 px (`C3-narrow-window-horizontal-scroll.jpg`), **`www.facebook.com`
kept the desktop layout and grew a horizontal scrollbar**: `window.innerWidth` stayed pinned at 1105
and `document.documentElement.scrollWidth` at 2051. The desktop site has a minimum width and never
switches to the phone layout.
4. `https://m.facebook.com/felhom.eu` redirected to `https://www.facebook.com/felhom.eu?_rdr`.
So narrowing a desktop browser cannot produce Facebook's phone rendering — it needs a mobile user agent
(Chrome DevTools device toolbar, Ctrl+Shift+M) or a real phone. Filed as **R-918**.
**What the numbers predict for the phone, as arithmetic and not as a measurement.** Meta's page says the
mobile cover is 2,4:1 and the profile circle overlaps it by about 40 px. Our cover is 1640 × 624 =
2,628:1. Reaching 2,4:1 at full height keeps 624 × 2,4 = 1497,6 px of the 1640 px width, so about 71 px
would be cut from each side. Our safe area is the centre 1028 × 544, which is 306 px clear of each edge —
comfortably inside that crop. This says the headline should survive; it does not show that it does.
## Secret scan
Run over this whole directory, with a planted control:
```
printf 'EAAfakeprobe\n' > decoy-control.txt
grep -r -o -a 'EAA' . -> 1 (the control, so the search works)
rm decoy-control.txt
grep -r -o -a 'EAA' . -> 0
grep -r -o -a '"access_token"' . -> 0
grep -r -o -a -iE 'jelszo|jelszó|password' . -> 0
```
The first pass found **1** real hit: `probe/run.log` line 1, the probe's own
`key FACEBOOK_API: <n> chars, starts EAA` line. That is token metadata, not a token, but it was redacted
in place before committing and the line says so. No token, no password and no personal data is in this
directory; the Messenger inbox, the credentials file and the operator's personal profile were never
screenshotted.
@@ -0,0 +1,63 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:17Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"4713349378884589\":[{\"type\":\"business_integration_system_user_platform_endpoints\",\"call_count\":0,\"total_cputime\":0,\"total_time\":0,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049711438",
"x-fb-trace-id": "GQz+i0Xgn+O"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "debug_token",
"query_keys": [
"input_token"
],
"response": {
"data": {
"app_id": "2273465403490709",
"application": "felhom.eu",
"data_access_expires_at": 0,
"expires_at": 0,
"granular_scopes": [
{
"scope": "pages_show_list"
},
{
"scope": "business_management"
},
{
"scope": "pages_read_engagement"
},
{
"scope": "pages_read_user_content"
},
{
"scope": "pages_manage_posts"
},
{
"scope": "pages_manage_engagement"
}
],
"is_valid": true,
"issued_at": 1791474515,
"scopes": [
"read_insights",
"pages_show_list",
"business_management",
"pages_read_engagement",
"pages_read_user_content",
"pages_manage_posts",
"pages_manage_engagement",
"public_profile"
],
"type": "SYSTEM_USER",
"user_id": "122094150717513084"
}
},
"step": "A1-debug-token"
}
@@ -0,0 +1,25 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:18Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-app-usage": "{\"call_count\":0,\"total_cputime\":0,\"total_time\":0}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "Bmp0t/raQ8/"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "me",
"query_keys": [
"fields"
],
"response": {
"id": "122094150717513084",
"name": "felhom-cc"
},
"step": "B1-me"
}
@@ -0,0 +1,44 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:19Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-app-usage": "{\"call_count\":0,\"total_cputime\":0,\"total_time\":0}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "Bzj+NQqrWTp"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "me/accounts",
"query_keys": [
"fields"
],
"response": {
"data": [
{
"id": "1360018983863273",
"name": "Felhom.eu",
"tasks": [
"CREATE_CONTENT",
"MODERATE",
"MESSAGING",
"ADVERTISE",
"ANALYZE",
"MANAGE_LEADS",
"VIEW_MONETIZATION_INSIGHTS"
]
}
],
"paging": {
"cursors": {
"after": "QVFIVG1yVkVJTjcyYWRLNlN4ZAXNSY2FwQnVIa01JY2hjazlNTG94Y0oydkh3aC1hR1pvYW5hcm40elhQTTBndVQwTTV2U1VJeUtLOHVESWlXNlZA1WC1QbFlR",
"before": "QVFIVG1yVkVJTjcyYWRLNlN4ZAXNSY2FwQnVIa01JY2hjazlNTG94Y0oydkh3aC1hR1pvYW5hcm40elhQTTBndVQwTTV2U1VJeUtLOHVESWlXNlZA1WC1QbFlR"
}
}
},
"step": "B2-me-accounts"
}
@@ -0,0 +1,64 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:20Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"4713349378884589\":[{\"type\":\"business_integration_system_user_platform_endpoints\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "EA88ZCISFsc"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "debug_token",
"query_keys": [
"input_token"
],
"response": {
"data": {
"app_id": "2273465403490709",
"application": "felhom.eu",
"data_access_expires_at": 0,
"expires_at": 0,
"granular_scopes": [
{
"scope": "pages_show_list"
},
{
"scope": "business_management"
},
{
"scope": "pages_read_engagement"
},
{
"scope": "pages_read_user_content"
},
{
"scope": "pages_manage_posts"
},
{
"scope": "pages_manage_engagement"
}
],
"is_valid": true,
"issued_at": 1791482718,
"profile_id": "1360018983863273",
"scopes": [
"read_insights",
"pages_show_list",
"business_management",
"pages_read_engagement",
"pages_read_user_content",
"pages_manage_posts",
"pages_manage_engagement",
"public_profile"
],
"type": "PAGE",
"user_id": "122094150717513084"
}
},
"step": "B3-debug-page-token"
}
@@ -0,0 +1,31 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:20Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "BBdQUTLHeNg"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273",
"query_keys": [
"fields"
],
"response": {
"about": "https://felhom.eu\nSaját felhőd, saját szabályaid\nProfesszionális otthoni szerver telepítés és üzemeltetés. Te irányítasz, mi segítünk.",
"category": "Information Technology Company",
"fan_count": 0,
"followers_count": 0,
"id": "1360018983863273",
"link": "https://www.facebook.com/1360018983863273",
"name": "Felhom.eu",
"website": "https://felhom.eu/"
},
"step": "C1-page"
}
@@ -0,0 +1,46 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:21Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049711438",
"x-fb-trace-id": "AKD/CIXSVki"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/feed",
"query_keys": [
"limit"
],
"response": {
"data": [
{
"created_time": "2026-10-08T17:40:01+0000",
"id": "1360018983863273_1142494138310377",
"story": "Felhom.eu updated their cover photo."
},
{
"created_time": "2026-10-08T17:39:28+0000",
"id": "1360018983863273_122096099025511222",
"story": "Felhom.eu updated their profile picture."
},
{
"created_time": "2026-10-08T15:31:07+0000",
"id": "1360018983863273_122096048493511222",
"story": "Felhom.eu updated their profile picture."
}
],
"paging": {
"cursors": {
"after": "QVFIVEowbWpnd0hBb2s2bWdDeTZASWXN6RzB5Wkc0dVFwR1lSLWNkVXgzZAnZAVcjA4ZAXNZAVzlaSmZAjTlVTRXIyUmU5NkhPVUtrWjFqTlVVSndjZAElUVy1zYlAyTVY2Rm9iSVM3czA4ejhPSmZAVUWtxS0hQVElEbmlEdXphMVl3aVFlX3dRcnVxaVg3ZAUpURlloRVdtZA0pqYmNDUkVmOWNSU2gwbllWUTNxVmlZATGdxSnBZAY0NwZAEh2TE5tWWh3MHAyNVhRa0thSV9zWG10NUVOckFrMDFCZA2x1N01TSXV6WjRDckNrRjZAuV1ZAVSkJxMEhtN3lCYktqUGVMWkZAZAbkhQY21kWjIzaENIOWQyWGRIeFJod0s4Qnd5WEtqYzRmMXlubFpleXNXRG15T2xZAZAk4ta0RGLW9lWnFOcTZAzVnl0TXk2ZAEYzNnZA1bTRwU0pZAS2NxejVoTFZAObGdoazlwTE5kLVlQem1PTzlNMW81TjdVWElXcU1MQUphczZA3R1c3bmZAlY1o1TVA1ZAk5BRWFaNE5YOXZA0NFVjd2d1ZA3M0OEFhb19yd0FrYVFadVp1MkN3am15dHhkZAzJMc1VXd0Q4YWdsZAVhmUG1LeXo3SU1RTXJ0LWJUWG5oSXhUc2lWVVpMdnY3Mzc5YXdIU243WC05MnctSHlQejZAwemZAHQzNzczZAHNW1mZAE9rdUZAZAZA3l0SVhrbmlUWUJGSUs2WVNDdkU4MzV2R09xUEZALTDVBS1NRWk9YWnlkUDR3LW5seVBodHZA6VjFiektFeHVXV3M1WFY5ZA3hqVUFaU3VMX2l0OXc5UXpTdzBxajh6SDNqd05uRHZAXaE4yODBTM09VVjVGQXRMN0dHc2Y2MWpGc2treHJPRWVNVTRjaDNyY3BOZA0w4cHFfQ3M3dWNHU0dfNDNJTVRkNkRWeGZAhMDFpSXU2SkZA0MXY4OHAxMnBkc28tWFlUVEJEUVphVW5ybEQ1ZAlJOUQZDZD",
"before": "QVFIVHVzckFTZAjMzMm5GRFM3SFNGTnlfLUxsZAzdTN2FpdDVJTUR6a3REYXV2VkExQ3c5bDZAJX1lJNll4TUk5MlAzeHRvYkw5RUl6akY2QXVkVTYwSnRLVTBlSU5oNkJqSmk2a1cwMEwxaVBCVWd5T2pmOG91bWRHVGJiWHR2aU9ucnZAuZAFRzSmpUR2laUDJ5SklXMFVDZAzh0dXJnTkQwazlLckhwUE9XcnVqRk1icm1TUVVnRmhxMFlVamhKSWJoeUNlRTcwQzFzaUdVcFN6Sm96OFVScVF0ZAE84aFJ1bzFvWHVwbExjcU5OUng1LXhFV0FMdF9BaWhWUmZAUVG5CeUFhNTJablhtckktSzRsU204dzFWSVdzY28ta0padV9MZAHZANMmZAhVi1fSmY1RllGaUJ0ZADFUUkRDX3ljVXdlYWsyanNERGl1VWJ2ZAHBWNEJLUDMycFlQR25xZAzlqbWZAoS3hfOTlZAR3ZABME0wVk0tMVlqbUItNGpTeDlGcGNwWmwzd3ZAibDJYcjVqdGFWLWxrV3Q3ZA0t5VVdIVXljSHMyMkxDZAFhhTjktTm5hM1RVQ1Jub2NVSEJOSzhzeTlXSWJXT2hLTG9WRWRyUlpqbHBNVGhpZAzdHT1psRWRBZAjVwMkFLMFl4SXhxWE1vaXhCRkFFbW1kck1KYmJHdHk4X052TUlXLUUxaGQ2aVEtaFRLZAkRhX0NoVzlEVEV3U05lNC0zSnd4RFllZAHJoVEdYSFRpQTcycEF1ME43Mm5GVUwtRi1ya3dTT3Q0ZAG9VeVAzTmZAUNEJfdHkwemVDam1yeWxXQTNwZA0FDREwtTDZAxdVMwZAGduTm9jbFlOUkJEM09lVEE1c1E4N2RLLUZAJMzBKcjFDVE9LOUJKOTlDd1htX19YZAWZAZAeVNJcC01RTZA5bHFMcGF4cWtjaDV0Y3RWclVJdjNISEFPRVNXV3ZA3QlpQQk84RmZAlMThGMGlCQjF5UQZDZD"
}
}
},
"step": "C2-feed"
}
@@ -0,0 +1,47 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:22Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049711438",
"x-fb-trace-id": "FblG7E7+dz+"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/insights",
"query_keys": [
"metric",
"period"
],
"response": {
"data": [
{
"description": "Lifetime: The number of followers of your Facebook Page or profile. This is calculated as the number of follows minus the number of unfollows over the lifetime of your Facebook Page or profile. ",
"id": "1360018983863273/insights/page_follows/day",
"name": "page_follows",
"period": "day",
"title": "Lifetime Total Follows",
"values": [
{
"end_time": "2026-10-06T07:00:00+0000",
"value": 0
},
{
"end_time": "2026-10-07T07:00:00+0000",
"value": 0
}
]
}
],
"paging": {
"next": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_follows&period=day&since=1791356400&until=1791529200",
"previous": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_follows&period=day&since=1791010800&until=1791183600"
}
},
"step": "C3-insights-page_follows"
}
@@ -0,0 +1,47 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:22Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049711438",
"x-fb-trace-id": "CiAll5MWBHl"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/insights",
"query_keys": [
"metric",
"period"
],
"response": {
"data": [
{
"description": "The number of times any content from your Page was displayed on a person's screen, including posts, stories, ads, and other content on your Page.",
"id": "1360018983863273/insights/page_media_view/day",
"name": "page_media_view",
"period": "day",
"title": "Facebook views",
"values": [
{
"end_time": "2026-10-06T07:00:00+0000",
"value": 0
},
{
"end_time": "2026-10-07T07:00:00+0000",
"value": 0
}
]
}
],
"paging": {
"next": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_media_view&period=day&since=1791356400&until=1791529200",
"previous": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_media_view&period=day&since=1791010800&until=1791183600"
}
},
"step": "C3-insights-page_media_view"
}
@@ -0,0 +1,47 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:05:21Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "D5xPAv6Y7nQ"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/insights",
"query_keys": [
"metric",
"period"
],
"response": {
"data": [
{
"description": "Daily: The number of times people have engaged with your posts through like, comments and shares and more.",
"id": "1360018983863273/insights/page_post_engagements/day",
"name": "page_post_engagements",
"period": "day",
"title": "Daily Post Engagements",
"values": [
{
"end_time": "2026-10-06T07:00:00+0000",
"value": 0
},
{
"end_time": "2026-10-07T07:00:00+0000",
"value": 0
}
]
}
],
"paging": {
"next": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_post_engagements&period=day&since=1791356400&until=1791529200",
"previous": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_post_engagements&period=day&since=1791010800&until=1791183600"
}
},
"step": "C3-insights-page_post_engagements"
}
@@ -0,0 +1,7 @@
{
"facebook-api-version": "v26.0",
"x-app-usage": "{\"call_count\":0,\"total_cputime\":0,\"total_time\":0}",
"x-business-use-case-usage": "{\"4713349378884589\":[{\"type\":\"business_integration_system_user_platform_endpoints\",\"call_count\":0,\"total_cputime\":0,\"total_time\":0,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049711438",
"x-fb-trace-id": "GQz+i0Xgn+O"
}
@@ -0,0 +1,63 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:16Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"4713349378884589\":[{\"type\":\"business_integration_system_user_platform_endpoints\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "FrusM41Cili"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "debug_token",
"query_keys": [
"input_token"
],
"response": {
"data": {
"app_id": "2273465403490709",
"application": "felhom.eu",
"data_access_expires_at": 0,
"expires_at": 0,
"granular_scopes": [
{
"scope": "pages_show_list"
},
{
"scope": "business_management"
},
{
"scope": "pages_read_engagement"
},
{
"scope": "pages_read_user_content"
},
{
"scope": "pages_manage_posts"
},
{
"scope": "pages_manage_engagement"
}
],
"is_valid": true,
"issued_at": 1791474515,
"scopes": [
"read_insights",
"pages_show_list",
"business_management",
"pages_read_engagement",
"pages_read_user_content",
"pages_manage_posts",
"pages_manage_engagement",
"public_profile"
],
"type": "SYSTEM_USER",
"user_id": "122094150717513084"
}
},
"step": "A1-debug-token"
}
@@ -0,0 +1,25 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:16Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-app-usage": "{\"call_count\":1,\"total_cputime\":0,\"total_time\":1}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "DkQ940lmMsP"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "me",
"query_keys": [
"fields"
],
"response": {
"id": "122094150717513084",
"name": "felhom-cc"
},
"step": "B1-me"
}
@@ -0,0 +1,44 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:17Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-app-usage": "{\"call_count\":1,\"total_cputime\":0,\"total_time\":1}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "HMxzy4fxMpx"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "me/accounts",
"query_keys": [
"fields"
],
"response": {
"data": [
{
"id": "1360018983863273",
"name": "Felhom.eu",
"tasks": [
"CREATE_CONTENT",
"MODERATE",
"MESSAGING",
"ADVERTISE",
"ANALYZE",
"MANAGE_LEADS",
"VIEW_MONETIZATION_INSIGHTS"
]
}
],
"paging": {
"cursors": {
"after": "QVFIVG1yVkVJTjcyYWRLNlN4ZAXNSY2FwQnVIa01JY2hjazlNTG94Y0oydkh3aC1hR1pvYW5hcm40elhQTTBndVQwTTV2U1VJeUtLOHVESWlXNlZA1WC1QbFlR",
"before": "QVFIVG1yVkVJTjcyYWRLNlN4ZAXNSY2FwQnVIa01JY2hjazlNTG94Y0oydkh3aC1hR1pvYW5hcm40elhQTTBndVQwTTV2U1VJeUtLOHVESWlXNlZA1WC1QbFlR"
}
}
},
"step": "B2-me-accounts"
}
@@ -0,0 +1,64 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:18Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"4713349378884589\":[{\"type\":\"business_integration_system_user_platform_endpoints\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "GPFAp+vD2Lj"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "debug_token",
"query_keys": [
"input_token"
],
"response": {
"data": {
"app_id": "2273465403490709",
"application": "felhom.eu",
"data_access_expires_at": 0,
"expires_at": 0,
"granular_scopes": [
{
"scope": "pages_show_list"
},
{
"scope": "business_management"
},
{
"scope": "pages_read_engagement"
},
{
"scope": "pages_read_user_content"
},
{
"scope": "pages_manage_posts"
},
{
"scope": "pages_manage_engagement"
}
],
"is_valid": true,
"issued_at": 1791483797,
"profile_id": "1360018983863273",
"scopes": [
"read_insights",
"pages_show_list",
"business_management",
"pages_read_engagement",
"pages_read_user_content",
"pages_manage_posts",
"pages_manage_engagement",
"public_profile"
],
"type": "PAGE",
"user_id": "122094150717513084"
}
},
"step": "B3-debug-page-token"
}
@@ -0,0 +1,31 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:18Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "GGxP8sYOYA0"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273",
"query_keys": [
"fields"
],
"response": {
"about": "Saját felhőd, saját szabályaid. Otthoni szerver telepítés, üzemeltetés. Te irányítasz, mi segítünk.",
"category": "Information Technology Company",
"fan_count": 0,
"followers_count": 0,
"id": "1360018983863273",
"link": "https://www.facebook.com/1360018983863273",
"name": "Felhom.eu",
"website": "https://felhom.eu/"
},
"step": "C1-page"
}
@@ -0,0 +1,46 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:18Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "E98HyWsxHtV"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/feed",
"query_keys": [
"limit"
],
"response": {
"data": [
{
"created_time": "2026-10-08T17:40:01+0000",
"id": "1360018983863273_1142494138310377",
"story": "Felhom.eu updated their cover photo."
},
{
"created_time": "2026-10-08T17:39:28+0000",
"id": "1360018983863273_122096099025511222",
"story": "Felhom.eu updated their profile picture."
},
{
"created_time": "2026-10-08T15:31:07+0000",
"id": "1360018983863273_122096048493511222",
"story": "Felhom.eu updated their profile picture."
}
],
"paging": {
"cursors": {
"after": "QVFIVFoxN1haTWdDQlktdVl6WGYwczlnTi1xa250SUVxREQ2TlAxX3QtcF9NNHpfNnBYYWFiX0ZAFSkFPRlJHWklidHRveEl2bkJ6bUpaeVJTcTNVaV9ZAbTFJS3FJc29nX0FTWDFEWFVMQ0JLdDI3MWFhMTRqSnotVkcyR0lkSDFkSWNtaHAyTDFMX1YxbWNHYlg1dlZAiZADhLNE5vUUJJa1NET0ZAsWDZA2SWFxdzFxSXh6ZAk4tS19NSVBaWXlnS0RFd1NtUkhGa09qYkxFMXBzb1pVSGF5VHN1cWVZATDBCNXZANQmpTc1l2MHRVclVnZAUlYMjdYWjM5QVhHangzclNtcENKamNrMHl6TTJMd3I3djZAGcXBzeVU3MXpFSUFMZAUJoVU1vOGlCcWU0aWNSOTY2SE00MURoZAnFRS2lUZA00xcVJhMW5CRDJlbXAwWmhhYVIxaFhDd1d1UjBxZAHJYdGhKSEpqV1pLRHlwQlZALaTgtaExjLWtSNWcyYUV2NWxKXy1kRVBVOGR5SHVPam9VNXNsNk5HaVpTTFlMcDUybDZArakhjOS1BcVlRZAnRpdDZASOFkzOFQ2bE1mcHU0cnVuN2FZAc29JYmVheXc4T0V3S2ZAyckxXNklxcm5mTDFNVHFjWHZArd21WQnNDY2ZAhR0Vsd2xkY3lWdnU3X25oN25zUHczdjUxWDBEczRlVXRFaUpiTGV5ZA2RJaFJINDZAKOFNWVTE3WW4telB2TUxrbHJhc09KYlpkWUZAEaE9oQzQyY1l3V2JqQmxIczVOUE1VS0pxUjNiSVRyem1HVk03YWxaMWttOWxVUWVnQ1g4QkRBeXpyM0lRWXUtejZA5V1o2YnAzalE3MUxVTmZAYTV9pMmxyYnkwbmVhQzh4aXdLMUg2ZA2F3SWRfRThlNnlySV85MWhhM0h4X2dfQ0RUeEhhVTNCbXBpNnpFOUZARMnhuVllkMlZAESVhpWE5MN0ZAaSjllUQZDZD",
"before": "QVFIVE9HTVIxUUllU3dRbU5mNW9GcGNyQWtuaGVCMFlGTkZAJMGp3UDBwOWFZAMnk3MF9vVVg3Y0NiWnZApSmF3Q0FSSTBWa1luTGlNWEJmcWdjbFUxZAVFHX3NpNXphSGNuZAnNQdVU1UEtUbnNZAUHcwcER5S1NkQ3BSNlVQVWlRbi0zQXZAIOTdKR3ZAwajItUER4ZAFBnMnU5T0lGclc4elB5RV9zc29JTHdpeWczRkZAUSUVTVm9ubXQ5bnB4Y2pLNGhYQ2lDSDhlbVR4RDlvX3NCVUtud1FPd0FFdVJIc2V0dWFnaWtSZAVQxOVJlc18ydWFKMHVfNXJOT252MklSRjkyaTVldTc1SGxrOG4yRWdEMGhSWXd5cWdVMFZAXbHJHRFpfV2xWYnFodDFvVnFxV1l0ZAG9ab3JfWnZATVktKb3lfZAXdXWDhULWZAUNENacURQOEdQM25yNEVFVWRmNTlLczFFeGh5VVZAadVRwSXlzeFdFajhyd3FCZAWR4U21iLTZAOVFdORUVhSXBfWFJ1TVVFT2kyX09hWFZArOEJKYnZASSnFydDB2ckluT1plN1YzcWc5SUpNSUZACMVJkM2plZAWh4TkJzb0piYVRiZAFFNaHMtTDh1UHU3R3Jza1JOV2FlNWsyUUlnaGYyU2xoTVBRTUhZAaEJiNUk2RDlxYm93dzh2cERuZAlY1T0lEUGhRb2E0QTZAMQWFYVjlaQmlodkVkT3VkVktGQzEtVTBlZA0NXQTZAOVzVpYTI5WE03TWdnVzlwLVowS1dDOFBVS2pSa3V6aUEtUzRVM2xYTkNNcGlUZAG5LTk5oSG1rVFVqTW8wT1hDWW9VSzhxYkNaUVhCYmNLUWoyUnlTclpibU1hd1VFZAHE4cjNTWEk1Q3hzSXlIb2NseFhLUUFGN0dPYl8yVmlZAdFBUV0tDN0x0bjJBdXZAoZAVdod0ZAJeEdrQk1DaWlkOU56d0ZANSzdFak5zV2RhOS1sQQZDZD"
}
}
},
"step": "C2-feed"
}
@@ -0,0 +1,47 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:19Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "G3fCbnPETNA"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/insights",
"query_keys": [
"metric",
"period"
],
"response": {
"data": [
{
"description": "Lifetime: The number of followers of your Facebook Page or profile. This is calculated as the number of follows minus the number of unfollows over the lifetime of your Facebook Page or profile. ",
"id": "1360018983863273/insights/page_follows/day",
"name": "page_follows",
"period": "day",
"title": "Lifetime Total Follows",
"values": [
{
"end_time": "2026-10-06T07:00:00+0000",
"value": 0
},
{
"end_time": "2026-10-07T07:00:00+0000",
"value": 0
}
]
}
],
"paging": {
"next": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_follows&period=day&since=1791356400&until=1791529200",
"previous": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_follows&period=day&since=1791010800&until=1791183600"
}
},
"step": "C3-insights-page_follows"
}
@@ -0,0 +1,47 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:20Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "F3F+UAs/h9G"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/insights",
"query_keys": [
"metric",
"period"
],
"response": {
"data": [
{
"description": "The number of times any content from your Page was displayed on a person's screen, including posts, stories, ads, and other content on your Page.",
"id": "1360018983863273/insights/page_media_view/day",
"name": "page_media_view",
"period": "day",
"title": "Facebook views",
"values": [
{
"end_time": "2026-10-06T07:00:00+0000",
"value": 0
},
{
"end_time": "2026-10-07T07:00:00+0000",
"value": 0
}
]
}
],
"paging": {
"next": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_media_view&period=day&since=1791356400&until=1791529200",
"previous": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_media_view&period=day&since=1791010800&until=1791183600"
}
},
"step": "C3-insights-page_media_view"
}
@@ -0,0 +1,47 @@
{
"api_version": "v26.0",
"at_utc": "2026-10-08T18:23:19Z",
"error": null,
"files": {},
"form": {},
"headers": {
"facebook-api-version": "v26.0",
"x-business-use-case-usage": "{\"1360018983863273\":[{\"type\":\"pages\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "D2TedUmHhoR"
},
"http_status": 200,
"method": "GET",
"ok": true,
"path": "1360018983863273/insights",
"query_keys": [
"metric",
"period"
],
"response": {
"data": [
{
"description": "Daily: The number of times people have engaged with your posts through like, comments and shares and more.",
"id": "1360018983863273/insights/page_post_engagements/day",
"name": "page_post_engagements",
"period": "day",
"title": "Daily Post Engagements",
"values": [
{
"end_time": "2026-10-06T07:00:00+0000",
"value": 0
},
{
"end_time": "2026-10-07T07:00:00+0000",
"value": 0
}
]
}
],
"paging": {
"next": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_post_engagements&period=day&since=1791356400&until=1791529200",
"previous": "https://graph.facebook.com/v26.0/1360018983863273/insights?metric=page_post_engagements&period=day&since=1791010800&until=1791183600"
}
},
"step": "C3-insights-page_post_engagements"
}
@@ -0,0 +1,7 @@
{
"facebook-api-version": "v26.0",
"x-app-usage": "{\"call_count\":1,\"total_cputime\":0,\"total_time\":1}",
"x-business-use-case-usage": "{\"4713349378884589\":[{\"type\":\"business_integration_system_user_platform_endpoints\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}",
"x-fb-rev": "1049721894",
"x-fb-trace-id": "FrusM41Cili"
}
@@ -0,0 +1,23 @@
key FACEBOOK_API: [token length and prefix redacted by the session before committing]
GET debug_token -> HTTP 200
A debug_token: ok=True is_valid=True type=SYSTEM_USER app_id=2273465403490709 expires_at=0 data_access_expires_at=0
scopes=['read_insights', 'pages_show_list', 'business_management', 'pages_read_engagement', 'pages_read_user_content', 'pages_manage_posts', 'pages_manage_engagement', 'public_profile']
GET me -> HTTP 200
B /me: ok=True id=122094150717513084 name=felhom-cc
GET me/accounts -> HTTP 200
/me/accounts: 1 page(s): ['Felhom.eu']
page id=1360018983863273 tasks=['CREATE_CONTENT', 'MODERATE', 'MESSAGING', 'ADVERTISE', 'ANALYZE', 'MANAGE_LEADS', 'VIEW_MONETIZATION_INSIGHTS'] (page token held in memory, 204 chars)
GET debug_token -> HTTP 200
page token: ok=True type=PAGE is_valid=True expires_at=0 data_access_expires_at=0 scopes=['read_insights', 'pages_show_list', 'business_management', 'pages_read_engagement', 'pages_read_user_content', 'pages_manage_posts', 'pages_manage_engagement', 'public_profile']
GET 1360018983863273 -> HTTP 200
C page fields: ok=True {'id': '1360018983863273', 'name': 'Felhom.eu', 'link': 'https://www.facebook.com/1360018983863273', 'category': 'Information Technology Company', 'about': 'Saját felhőd, saját szabályaid. Otthoni szerver telepítés, üzemeltetés. Te irányítasz, mi segítünk.', 'website': 'https://felhom.eu/', 'followers_count': 0, 'fan_count': 0}
GET 1360018983863273/feed -> HTTP 200
feed: ok=True posts=3
GET 1360018983863273/insights -> HTTP 200
insights page_post_engagements: ok=True values=1
GET 1360018983863273/insights -> HTTP 200
insights page_follows: ok=True values=1
GET 1360018983863273/insights -> HTTP 200
insights page_media_view: ok=True values=1
read: done
F headers: {"facebook-api-version": "v26.0", "x-business-use-case-usage": "{\"4713349378884589\":[{\"type\":\"business_integration_system_user_platform_endpoints\",\"call_count\":1,\"total_cputime\":1,\"total_time\":1,\"estimated_time_to_regain_access\":0}]}", "x-fb-trace-id": "FrusM41Cili", "x-fb-rev": "1049721894", "x-app-usage": "{\"call_count\":1,\"total_cputime\":0,\"total_time\":1}"}
+4 -2
View File
@@ -263,7 +263,7 @@ stopping line that lies.
| **R-814** | Hub & operator | P4 | `PBS-storage-1` (u629193, box 611421) still `status=active`, 19.9 MB | **VERIFY** (2026-10-03 triage: a July watch row with no id; given R-814. WAITING-ON-OPERATOR — no record found that the box was deleted.) — WAITING-ON-OPERATOR | operator console | Delete the box | operator |
| **R-844** | Hub & operator | P4 | **The household's OS-update line exists only on the hub's customer timeline.** 2026-10-04: the box itself has no event surface for agent results (the controller UI shows no timeline), so `os_update_applied` is a hub customer event (info: recorded, never mailed). Its stored text is the hub's English sentence; the hu/en bundle text (`mail.event.os_update_applied`) is used only if it is ever mailed. Fix direction: a controller-side line (the controller already polls the agent's local API) when the box gets a household timeline. `audits/os-guest-lane-2026-10-04/partG/hub-customer-timeline-demo-hp.txt` | **READY — owner: CC** **2026-10-05 (burn-down night): NEEDS A DESIGN** — a household timeline on the box does not exist yet. | — | — | CC |
## Business & legal — 9 rows (P2 4, P4 5)
## Business & legal — 10 rows (P2 4, P4 6)
| ID | Category | Sev | What | State | Blocked on | Next action | Owner |
|---|---|---|---|---|---|---|---|
@@ -277,8 +277,9 @@ stopping line that lies.
| **R-914** | Business & legal | P4 | **Write the Felhom Facebook Page skill from the spike's findings.** Spike 2026-10-08 (`audits/SPIKE-facebook-page-api-2026-10-08.md`): key valid, never expires; the Page (`1360018983863273`) is reached with CREATE_CONTENT/MODERATE/ANALYZE; a scheduled text post and a scheduled photo were created, read back byte-equal and deleted (removal proven). Probe `scripts/facebook/fb_probe.py`. Gap to close in the skill: a scheduled photo's publish state was not read (no `post_id` returned). **2026-10-08 (Page pictures task) — two more for the skill:** (1) **the removal proof was not a proof**: the text post's after-DELETE answer was (#10) „does not exist, cannot be loaded due to missing permission…" — that message also means a permission gap. The skill proves removal by listing the Page's scheduled posts before and after the delete (present, then absent); the operator's Planner view on 2026-10-08 showed nothing on 15 October (a different channel, by eye). (2) **pictures by API** (READ, developers.facebook.com/docs/graph-api/reference/page/picture and …/reference/page/): `POST /{page}/picture` needs the `MANAGE` task, which the robot does not have (measured task list); the cover is `POST /{page}` `cover=<photo id>`, „only by the Page Admin or Page Editor with `EDIT_PROFILE`" + `business_management`. Neither names `pages_manage_metadata`. Today the pictures are uploaded by hand (`marketing/facebook/README.md`). | **READY — owner: CC** | — | Write the skill (drafts scheduled for operator review by default); read a scheduled photo back through the Page's scheduled-post listing | CC |
| **R-915** | Business & legal | P4 | **The Meta app `felhom.eu` is in development mode, so posts it makes are seen only by people with a role on the app.** READ 2026-10-08 (Meta docs, cited in the spike); not measured. MEASURED: development mode does not refuse posting (both test writes HTTP 200). Live needs display name, contact e-mail, a Terms of Service URL, an app icon, a category and the app purpose (privacy-policy and data-deletion URLs listed beside them). The robot's Page assignment, missing at first, was done by the operator the same day. | **WAITING-ON-OPERATOR** | R-813 (the Terms of Service URL) | Before real public posts: switch the app to Live in the Meta developer page. If nothing is done: posts stay invisible to the public. After Live: CC adds the Page link to the website footer (not before — a link to a Page nobody can read is worse than none) | operator |
| **R-916** | Business & legal | P4 | **The logo has no usable vector master: `website/assets/logo.svg` sets „felhom.eu" as live text in the fonts „M+ 2c" and „Vremena Grotesk", which DooPlex does not have, so every renderer here draws other letters.** SEEN 2026-10-08 (Facebook pictures task): librsvg drew the lettering in DejaVu; `fc-match` resolves the family to DejaVu Sans. The PNG (645 x 408) is the only faithful copy, which caps every picture made from it at about that size (`marketing/facebook/README.md`). | **WAITING-ON-OPERATOR** | the machine with the fonts | In Inkscape on that machine: select the lettering → Path → Object to Path → save as `website/assets/logo-master.svg`; then `marketing/facebook/build.py` can use it. If nothing is done: the PNG stays the master; larger prints will be soft | operator |
| **R-917** | Business & legal | P4 | **`COPY.md` §2, the Page's longer description (867 characters), has nowhere to go: Facebook's current Pages experience has no long-description field at all.** FOUND 2026-10-08 (Page setup task, `audits/facebook-page-setup-2026-10-08/`). Looked in four places, all on the live Page as its admin: the Page's „Névjegy" tab (Rövid áttekintés / Személyes adatok / Részletek — only a 255-character „Bemutatkozás" and the pinned category), Business Suite's „Oldal módosítása" dialog (profile picture, cover, Bemutatkozás, category, phone, e-mail, address, website, social links — and nothing else), Facebook settings → „Oldal adatai" (redirects to the same Névjegy tab) and settings → „Oldal beállítása" (name, access, type, history, status, recommendation, messaging, data sharing). MEASURED by Graph with the Page token: `description`, `general_info` and `bio` all read `null`. Writing `description` by API would need `pages_manage_metadata`; the robot key's scopes are `read_insights, pages_show_list, business_management, pages_read_engagement, pages_read_user_content, pages_manage_posts, pages_manage_engagement, public_profile`, and the task's fences forbid adding a permission. So §2 is written, reviewed and unplaceable. **Options for the operator:** (a) leave §2 unused and let the 99-character intro plus the website carry it; (b) shorten §2 to ≤ 255 characters and make it the „Bemutatkozás" instead of §1 — but §1 was written for exactly that slot, so this is really „rewrite one of the two"; (c) publish §2 as the Page's first pinned post once the app is Live (R-915), which is where a long text actually gets read; (d) ask Meta support whether the field still exists for this Page type. Recommended (c) — the text reads like a post already. | **WAITING-ON-OPERATOR** | the choice a/b/c/d; (c) also waits on R-915 | Pick a/b/c/d. If nothing is done: §2 stays in `COPY.md` unused and the Page carries only the 99-character intro | operator |
## Process & tooling — 23 rows (P3 3, P4 20)
## Process & tooling — 24 rows (P3 3, P4 21)
| ID | Category | Sev | What | State | Blocked on | Next action | Owner |
|---|---|---|---|---|---|---|---|
@@ -305,6 +306,7 @@ stopping line that lies.
| **R-903** | Process & tooling | P4 | **On a phone with JavaScript off, the website's menu does not open — so its links and the language globe cannot be reached there.** MEASURED 2026-10-08 (globe brief, headless Chrome at 376 px, JavaScript off): the three-line button is scripted (`#hamburger` toggles `.nav-links.is-open`), and below 900 px the nav list sits off-canvas until then. Older than the globe — the text switch had the same limit. The globe itself works with JavaScript off at desktop width (`audits/website-globe-2026-10-08/check.txt`). Fix direction: a CSS-only menu toggle (a `<details>` or a checkbox), a nav change on every page plus gate 3. | **OPEN — owner: CC** | — | Build the no-JS menu in a website task | CC |
| **R-910** | Process & tooling | P4 | **The website's dashboard pictures show the old Apps card (the tags crowd the name, R-909) and no phone view (R-907).** Filed 2026-10-08. | **OPEN — owner: CC** — waits for tomorrow's controller release to reach demo-hp | Tomorrow's controller release on demo-hp | After the release reaches demo-hp 9201: retake the 8 `dashboard-*.webp` pictures the way `audits/website-dashboard-2026-10-08/` did (read only, language round trip), consider adding the phone view, run `site_gates.py`; then close R-907, R-909 | CC |
| **R-912** | Process & tooling | P4 | **No gate checks that every catalog app has a logo file under its slug.** SEEN 2026-10-08: five apps (Crafty Controller, Gramps Web, Home Assistant, Plant-it, Uptime Kuma) had their logos and pictures under other names, so the dashboard showed the grey placeholder and no pictures; Docmost and Recipe Importer were added to the website today and are not in the hub's copy yet. Renamed the same day (website `CHANGELOG` 2026-10-08 evening). | **OPEN — owner: CC** | — | A gate (catalog or website): for every `templates/<app>/.felhom.yml` slug, `website/assets/<slug>-logo.svg` or `.png` exists, and no logo is coloured; with a decoy | CC |
| **R-918** | Process & tooling | P4 | **The Facebook Page's phone rendering cannot be checked from Claude in Chrome: narrowing the desktop browser never produces Facebook's phone layout.** SEEN 2026-10-08 (Page setup task, Phase C). `resize_window` reported success while the window was maximised and `window.innerWidth` never moved (2133); after the operator un-maximised it, only the first call after each window-state change took effect. With the window at about 500 px, **`www.facebook.com` kept the desktop layout and grew a horizontal scrollbar** — `innerWidth` pinned at 1105, `scrollWidth` 2051 (`audits/facebook-page-setup-2026-10-08/C3-narrow-window-horizontal-scroll.jpg`) — and `m.facebook.com/felhom.eu` redirected to `www.facebook.com/felhom.eu?_rdr`. So the desktop site has a minimum width and the phone view needs a mobile user agent, which these tools do not set. The computer-width half of Phase C WAS measured and passed (cover whole, no crop, profile circle 16 px clear of it). Meta states a 2,4:1 mobile crop and a ~40 px profile overlap; our 1640 x 624 cover would lose about 71 px a side, and the safe area is 306 px clear — **arithmetic, not a measurement**. | **OPEN — owner: CC** | — | Check the Page on a phone, or in Chrome DevTools' device toolbar (Ctrl+Shift+M) at 390 x 844, and record it beside the computer screenshot; if the headline or „felhom.eu" is cut, that is a finding for `marketing/facebook/build.py`'s safe area, not a re-crop on Facebook. Same gap applies to any future Page picture change | CC |
<!-- DUE-CHECKS-BEGIN — machine-readable. Parsed by scripts/due_checks_gate.py.
One row per dated check. The R-number must have a row above. Dates are UTC.