- PHP: submit_beep accepts empty content when any attachment flag is set
- JS: composer button enables when text is empty but media is attached
- JS: button refreshes on every media state change via custom event
- Version bump + readme changelog
The header <img> hardcoded https://sami-ahmed.net/... with no version
string, so browsers/proxies kept serving the stale corrupted PNG. Load it
from BEEP_URL with a ?v=BEEP_VERSION cache-buster and bump it to 30px.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Regenerate assets/beep-wordmark.png (and -blue) as a clean transparent
render of the 3D logo, replacing the corrupted files — fixes the feed
header image. Bump the inline-SVG viewBox so the "p" descender never clips.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the flat SVG-text wordmark with a crisp inline-SVG recreation of
the 3D brand logo (blue-violet face, navy outline, stacked blue depth).
Bump wordmark size/opacity so it reads on the dark theme. The bundled
beep-wordmark.png assets remain corrupted, hence the vector approach.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Render the Beep wordmark bottom-right of every beep AND reply, with the
delete button furthest right (was: wordmark right of delete, missing on
replies, and duplicated after the replies block).
- Draw the wordmark as crisp inline SVG via beep_post_wordmark() (filterable);
the bundled beep-wordmark.png assets are corrupted. Readable on dark theme.
- Restore class-updater.php (self-hosted Gitea updates) deleted in the
master->main consolidation; re-wire it in beep.php.
- Remove stray includes/class-shortcode.php.bak.
- Bump to 1.7.1; sync readme.txt stable tag + changelog.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Show the Beep wordmark bottom-right of every beep and reply, beside the
delete button (delete stays furthest right).
- Add Beep_Updater: WordPress-native plugin updates backed by the Gitea
releases API, with token auth for the private repo, "View details"
changelog, archive-folder normalization, and a "Check for updates" link.
- Bump version to 1.7.0; sync readme.txt stable tag + changelog.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
These changes were applied DIRECTLY to the production cPanel server via
Fileman/save_file_content API calls between ~10:30 PT and 14:44 PT today.
None of them were committed or pushed at the time, violating the
Software → Repo rule (CLAUDE.md, added 2026-05-18).
Captured by Claude (VSCode-side) at Sami request so the changes can be
reviewed/cherry-picked instead of being silently lost.
Notable concerns:
- class-beep.php shrank from 3387 → 1395 bytes (likely truncation, not edit)
- beep.css shrank from 35431 → 22948 bytes (-12.5 KB; ~half the file gone)
- class-replies.php shrank from 8793 → 6406 bytes
- 3 new files (class-magic-links.php, class-follows.php, create_poll_tables.php)
were created server-only with no repo presence
Source: live cPanel snapshot at /tmp/beep-snapshot-2026-05-20/
- New class-media.php: handles image upload via REST, stores in post meta, renders Twitter-style gallery
- Added POST /beep/v1/media/{id} and DELETE routes for media management
- Updated composer: media upload button, preview area
- Updated beep_render_post: displays image gallery + video embed
- Supports YouTube, Vimeo, Twitter/X video URLs via oEmbed
- Max 4 images per beep, 10MB each (JPEG/PNG/GIF/WebP)