feat: independent social posts, workspace analytics and media editing - #374
Open
paulocastellano wants to merge 111 commits into
Open
paulocastellano wants to merge 111 commits into
paulocastellano wants to merge 111 commits into
Conversation
added 30 commits
September 23, 2026 09:19
added 23 commits
September 24, 2026 14:40
added 6 commits
September 28, 2026 13:38
- Publish page: queue lists every scheduled post (empty slots only when the queue is empty), drafts/sent tabs, post details, labels picker on cards, plain confirmation for post deletion - Composer: per-channel settings, media tray, templates, media imports (Google Drive, Google Photos, Canva), alt text, posting actions - Create module: ideas board/gallery, templates and RSS feeds with local-state dialogs and lazy explore directory - Channels: connect flows with platform logos, posting goal dialog as the success screen, Telegram deep link from config, Pinterest boards - Sidebar: command palette, channel list scrolls on its own, channel reorder - Label filters drive column and queue counts; deleted labels are rejected - Tests for all of the above on PostgreSQL and MySQL
- Member permissions (is_admin / requires_approval) replace workspace roles - Post approvals: pending status, Approvals tab, approve/reject on web, API and MCP, Collaboration emails - Import posts published natively on the networks (incl. Instagram stories) into Sent with media and metrics - Disconnecting a channel deletes its posts; purge commands for orphans and imports - Post groups and recurring posts - Instagram grid view, reusable media lightbox and ChannelAvatar component - Remove the standalone post page in favour of the post details dialog - Rename the Analytics page to Insights; metrics band per content type and network - Follower and post insights include today's UTC readings for users west of UTC - Webhook create dialog, MCP settings redesign, publish empty states
- Time format is 12h or 24h only (users.time_format NOT NULL, backfilled per language) - New signups (email, Google, GitHub) detect time zone, week start and clock from the browser - Weekly goal and Insights weekly buckets follow the viewer's week start - Emails render times in the recipient's zone and clock (approval, post at risk) - The frontend never shows times in the browser zone; display-zone helper for notes and tooltips - Composer uses the channel zone (user zone for mixed channels), keeps the instant, slot shortcuts - Calendar clicks open the composer at the clicked instant; confirm before changing a channel zone - Notification preferences save on their own - Channel queue: free slots interleaved with posts, drag any scheduled post onto a slot, queued posts keep their slots, "+ New" opens at the slot, pending approvals reserve their slot - Insights export, sync status, column picker and sorting; post notes without replies/reactions - Remove the never-rendered date range presets
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
main, including YouTube Shorts descriptions and Instagram original image ratios, into the independent-post composer.This PR supersedes #373 and #370. The work is based on
codex/independent-social-posts.Validation
npm run build,vue-tsc --noEmit, and ESLint passed.vendor/bin/pint --dirty --format agentpassed.