trypost/app
Paulo Castellano 1c9ab462d0 feat(permissions): viewers review drafts in a read-only editor; lock /accounts to admins
Viewers are typically the client: they need to open a draft in the editor
to use the comments tab, but must not change anything.

- post editor (edit) now authorizes view, so viewers can open it; the
  composer + schedule tab render read-only and the comments tab stays
  interactive (defaults to the comments tab for viewers)
- all mutations stay member+ (update/delete) — the autosave/save/publish/
  schedule/delete affordances are hidden and the PUT is still 403 for
  viewers; SyncPostPlatforms only runs for users who can update
- drafts route to the editor for everyone again (reverts the read-only
  Show detour); Show stays the published-post view
- /accounts now authorizes manageAccounts (admin+), so viewers and members
  get 403; the Connections sidebar item is admin+ only and the connect/
  disconnect grid is reverted to main (no per-button gating needed)

Tests: draft→editor redirect for every member, viewer can open the editor,
viewer cannot save, and only admins+ can open /accounts.
2026-06-22 17:04:09 -03:00
..
Actions fix(members): preserve invited role on accept and surface viewer in role menu 2026-06-22 14:24:19 -03:00
Ai refactor(ai): introduce GeneratorFormat enum and drop stringly-typed format 2026-06-18 11:11:23 -03:00
Broadcasting feat(automations): implement automation features and UI enhancements 2026-05-24 09:17:19 -03:00
Concerns refactor: settings redesign, Spanish translations, language system, strict_types 2026-03-30 00:20:43 -03:00
Console/Commands Extract Telegram webhook registration into an action 2026-06-13 22:20:52 -03:00
DataTransferObjects feat(automations): implement automation features and UI enhancements 2026-05-24 09:17:19 -03:00
Enums chore: remove legacy plan tiers (starter/plus/pro/max) 2026-06-22 15:31:32 -03:00
Events feat(telegram): surface connect failure in the dialog instead of silent expiry 2026-06-22 09:55:12 -03:00
Exceptions feat: per-workspace pricing, onboarding, and billing overhaul 2026-06-21 20:40:03 -03:00
Helpers fix: correct Upload.php filename case for Linux CI 2026-03-31 12:01:48 -03:00
Http feat(permissions): viewers review drafts in a read-only editor; lock /accounts to admins 2026-06-22 17:04:09 -03:00
Jobs feat(billing): attach persona to conversion tracking and polish annual banner 2026-06-22 12:32:03 -03:00
Listeners refactor(billing): replace MonthlyCreditsLimit Pennant feature with BillingCycle 2026-06-22 09:55:03 -03:00
Mail feat: @mentions in comments, AI Action layer + MCP tools, settings tabs 2026-05-01 20:59:03 -03:00
Mcp refactor(meta): own the platforms.*.meta parent rule in PostPlatformMetaRules 2026-06-16 17:50:40 -03:00
Models refactor(billing): replace MonthlyCreditsLimit Pennant feature with BillingCycle 2026-06-22 09:55:03 -03:00
Observers fix: merge-readiness — close two billing/network bugs, harden tests 2026-06-22 09:26:31 -03:00
Policies refactor(permissions): drop explanatory comments, fix stale PostPolicy docblock 2026-06-22 16:35:27 -03:00
Providers fix(ci): drop unused Pennant feature discovery 2026-06-22 13:09:02 -03:00
Rules chore: remove unused Pennant package and dead user-timezone handling 2026-06-22 13:37:38 -03:00
Services feat: per-workspace pricing, onboarding, and billing overhaul 2026-06-21 20:40:03 -03:00
Socialite feat(channels): add Discord as a social channel 2026-06-16 14:44:00 -03:00
Support refactor: address code review for per-workspace pricing 2026-06-21 21:28:47 -03:00