2026-10-05 ยท Personal Social Desk, CPH Engagement Watcher for Chrome
Restores read-only collection of personal-profile followers and makes saved follower-count freshness visible.
What changed
- Restores the follower-list collector that was missing from the newer extension. One owned tab verifies the personal-profile identity, saves bounded visible batches, and pages every thirty seconds only after the server acknowledges the capture.
- Persists capture IDs, observation times, retry payloads and progress. Pause and explicit resume controls, finite working segments, DOM limits and bounded recovery reduce repeated work and browser pressure. Login challenges, identity changes and explicit current restrictions stop collection.
- Keeps personal follower captures partial. Facebook excludes friends from this list even though friends contribute to the total; omitted people cannot establish an unfollow. Captures neither invent engagement nor authorize follower removal.
- Shows deduplicated captured profiles separately from the last verified native Facebook count. Expired observations retain their count and date with visible failure status and hover help; expiry continues to block removal authorization.
- Adds a separate profile-links review area with filters for social services, explicitly identified business sites, other websites and link issues. Every saved link retains its source person; unchecked links are not labelled broken.
- Uses YYYY.M.DD.REVISION for new first-party versions. Chrome displays the padded calendar version through version_name while its numeric version follows Chrome rules. Earlier versions and permanent pages remain available.
- Extension reloads reconcile existing schedules and saved history without immediately starting birthday messages or other Facebook actions. Release packaging now requires the permanent public notes page and index link and records the notes digest.
Verification
- Passed the full Social Desk regression suite on macOS: 891 checks passed and one Linux-only check was deferred. Linux verification and installation both passed all 892 checks. The feature contract retains all nine views and existing routes.
- Passed thirty-four follower module tests and six extension reload/control tests, covering native subject identity and membership, receipt accounting, suspension recovery, account changes, rejected identities, safe paging, pause races, bounded resume and saved birthday history.
- Passed twenty scanner-support tests and seven activity-policy tests on Linux; this release does not activate scanner source candidates.
- Passed focused profile-link classification and compact-data tests. Verified the dedicated link filters and matching saved rows in the installed PWA after reload, with the current versioned assets and no captured browser console errors. Destination classification does not establish live website availability.
- Verified the installed Chrome display and numeric versions, acknowledged partial captures persisted in the audience and follower ledger, and the corresponding positive follower timestamps. Submitted rows can repeat identities and are not a unique follower count.
- Verified all nine rendered PWA views, reload behavior and preserved live records. Saved birthday history and its enabled setting matched the pre-update evidence. After Chrome recreated schedules during reload, the original future birthday due time and the engagement cadence were restored and read back without triggering a past-due run.
Rollout
Installed and verified for the existing Social Desk PWA and Chrome Watcher installation. Profile-link filters are live. Read-only follower capture saved acknowledged partial batches; the observed pass then stopped when the native list did not advance. Full-roster collection and birthday delivery are not claimed.
Updating
- Update the PWA and reload its cached assets. Reload the existing unpacked extension in place so its saved history and settings remain associated with the same installation. Chrome Developer mode must be enabled for the existing sideloaded build; no new extension permissions are required.
- Before reloading, preserve and inspect current settings, birthday history and alarm timing. After reload, verify them and reconcile any recreated schedule to its original future timing or next future cadence; do not immediately run missed birthday messages.
- Follower collection starts disabled on a new installation. Start, pause and resume it from the extension popup. A safety pause requires checking Facebook before explicitly resuming. Four non-advancing passes close the owned tab and defer another partial refresh for six hours.
- The exact-count observer remains a separate read-only process. A saved partial list or rounded profile label cannot replace its native exact-count evidence.
Scope and limitations
- This release does not claim a completed full-roster capture or fresh enrichment of every profile. Facebook layout changes, unavailable dashboards, memory limits and missing profile URLs can leave coverage partial.
- The exact native count remains at its last verified observation when Facebook's audience dashboard is unavailable. No rounded value is promoted to an exact count.
- Collection takes no Facebook relationship action. Follow notifications, profile enrichment, birthday delivery and follower removal have separate execution and verification boundaries.
- The bounded collector can stop when the native follower list no longer advances; that occurred during the verified installation pass. A paused or stalled partial capture is not full-roster completion. Long lists remain subject to Facebook loading, memory, access and bounded resume limits.
- Profile link filters classify recorded destinations and existing access evidence. This release does not perform new website health checks; unchecked links remain unknown.