Skip to content

[POC] 🎨 Added post editing presence prototype#27005

Draft
9larsons wants to merge 2 commits intomainfrom
codex/poc-post-editing-presence
Draft

[POC] 🎨 Added post editing presence prototype#27005
9larsons wants to merge 2 commits intomainfrom
codex/poc-post-editing-presence

Conversation

@9larsons
Copy link
Copy Markdown
Contributor

@9larsons 9larsons commented Mar 27, 2026

What this does

  • adds a soft editing lease for posts and pages in posts_meta
  • heartbeats from the editor every 30 seconds to surface an active editor
  • expires the lease after 2 minutes without a heartbeat
  • refreshes the lease on successful save when the current lease is unowned or expired
  • does not steal the lease from another actively editing user
  • shows presence in the editor header and the posts list
  • keeps the normal save path untouched so presence does not update post timestamps or create revisions

Notes

  • this is intentionally a POC and not a final UX recommendation
  • the editor treatment is clearer than the list treatment; the list UI still needs design input
  • there is no independent polling on the posts list yet, so list presence updates when row data refreshes

Testing

  • yarn eslint on the touched admin and core files
  • yarn test:single test/unit/server/services/posts/posts-service.test.js
  • pre-commit lint-staged ran ember-template-lint and eslint on staged files

Why draft

  • the mechanics are working, but the list presentation should be reviewed by design before shipping

Prototype for surfacing active editor presence in the editor header and posts list.
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 27, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 8260aa26-1f90-4006-8425-80deefd4a248

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/poc-post-editing-presence

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions github-actions bot added the migration [pull request] Includes migration for review label Mar 27, 2026
@github-actions
Copy link
Copy Markdown
Contributor

It looks like this PR contains a migration 👀
Here's the checklist for reviewing migrations:

General requirements

  • ⚠️ Tested performance on staging database servers, as performance on local machines is not comparable to a production environment
  • Satisfies idempotency requirement (both up() and down())
  • Does not reference models
  • Filename is in the correct format (and correctly ordered)
  • Targets the next minor version
  • All code paths have appropriate log messages
  • Uses the correct utils
  • Contains a minimal changeset
  • Does not mix DDL/DML operations
  • Tested in MySQL and SQLite

Schema changes

  • Both schema change and related migration have been implemented
  • For index changes: has been performance tested for large tables
  • For new tables/columns: fields use the appropriate predefined field lengths
  • For new tables/columns: field names follow the appropriate conventions
  • Does not drop a non-alpha table outside of a major version

Data changes

  • Mass updates/inserts are batched appropriately
  • Does not loop over large tables/datasets
  • Defends against missing or invalid data
  • For settings updates: follows the appropriate guidelines

@9larsons
Copy link
Copy Markdown
Contributor Author

CleanShot 2026-03-27 at 11 20 38@2x CleanShot 2026-03-27 at 11 20 59@2x Some ss - obviously the post list needs some significant reworking by design.

@9larsons 9larsons requested a review from kevinansfield March 27, 2026 16:21
@github-actions
Copy link
Copy Markdown
Contributor

E2E Tests Failed

To view the Playwright test report locally, run:

REPORT_DIR=$(mktemp -d) && gh run download 23655718645 -n playwright-report -D "$REPORT_DIR" && npx playwright show-report "$REPORT_DIR"

ref #27005
Save now claims an unowned or expired lease without stealing from
an active editor, and adds focused service coverage for both cases
@sonarqubecloud
Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
1 Security Hotspot
21.8% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

@github-actions
Copy link
Copy Markdown
Contributor

E2E Tests Failed

To view the Playwright test report locally, run:

REPORT_DIR=$(mktemp -d) && gh run download 23656507476 -n playwright-report -D "$REPORT_DIR" && npx playwright show-report "$REPORT_DIR"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

migration [pull request] Includes migration for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant