Releases: jperelli/redmine_realtime_editor
Releases · jperelli/redmine_realtime_editor
Release list
v0.2.0 — Monaco Editor support
Features
- Support for the Monaco Editor plugin: when it replaces a textarea the session binds to the Monaco model (local edits, remote edits applied as model edits, remote carets and selections as decorations, read-only lock after a shared comment is posted). Users on Monaco and on the plain textarea co-edit the same text. Undo/redo in Monaco (shortcuts, command palette, API) go through a Yjs
UndoManager, so they only revert the user's own edits and never the other users' text.
Install / upgrade
cd /path/to/redmine/plugins
git clone https://github.com/jperelli/redmine_realtime_editor.git # or: cd redmine_realtime_editor && git checkout v0.2.0
cd .. && bundle exec rake redmine:plugins:migrate RAILS_ENV=production
then restart Redmine. Full changelog: https://github.com/jperelli/redmine_realtime_editor/blob/main/CHANGELOG.md
v0.1.0
First release. Google-Docs style co-editing of issues, comments and wiki pages with no extra infrastructure: browsers synchronize through Redmine itself over HTTP polling, no websocket server.
Features
- Collaborative real-time editing (Yjs CRDT) of issue descriptions, issue notes, edited journal notes and wiki pages
- Transport over plain HTTP polling to the Redmine app itself, optional long polling; no websocket server or infrastructure change
- Every other field of the issue edit form (status, assignee, dates, custom fields...) is shared as well: remote changes are applied to the native controls with a "changed by" mark, and survive Redmine's own form refresh
- Remote carets and selections of the other editors drawn over the textarea, one colour per user with a name label
- Presence bar under each shared textarea: who else is editing, who is typing, live/offline state
- Shared drafts survive a page reload for a configurable time and are discarded after everybody leaves
- Saving from a co-edited issue form or wiki page does not trigger Redmine's stale-object conflict for the other editors; changes made outside a collaborative form still do
- New comments private (default, presence only) or shared; when a shared comment is posted the other editors get a banner naming the author and the notes box is locked until they reload
- Plugin settings: fields to share, notes mode, poll periods, long polling hold, draft lifetime, compaction threshold
Compatibility
Redmine 5.1, 6.0, 6.1 and 7.0 (tested in CI). No Node.js needed to install: the Yjs bundle is committed.
Install
cd /path/to/redmine/plugins
git clone --branch v0.1.0 https://github.com/jperelli/redmine_realtime_editor.git
cd /path/to/redmine
bundle exec rake redmine:plugins:migrate RAILS_ENV=productionPlugin directory: https://www.redmine.org/plugins/redmine_realtime_editor
