Fieldset-style inputs never go through the `FormControl` wrapper, so the
legend needs the `FormControl-label` class applied by the component. The
input does not support validation for the time being.
Wrapper arguments stay on the fieldset, while the component-specific and
form arguments flow to the inner tree view.
Extract non-IndexedDB refinements from PR #22125 so they can ship
independently while IndexedDB offline persistence is evaluated separately.
- Gate collaboration on Setting.real_time_text_collaboration_enabled?
instead of hardcoding it to true
- Remove the test-mode fallback that created a standalone Y.Doc without
a provider; HocuspocusProvider is now required for document editing
- Refactor useCollaboration hooks: callback-based timeout with proactive
cancel on sync, extracted useProviderAuthError hook, JSDoc comments
- Add read/write context-aware connection error messages (readonly users
see "real-time updates will resume" vs writers see "changes will sync")
- Add blocked offline mode: when the server is unreachable and there is
no local cache, hide the editor entirely to prevent an empty Y.Doc
from being synced as authoritative content on reconnect
- Update feature specs to use real hocuspocus shared context instead of
stubbing collaboration_enabled, add offline blocking tests
Default `datepicker_options` to `{}` in `SingleDatePickerInput`
(inherited by `RangeDatePickerInput`), and remove now-redundant
empty hash arguments from callsites.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add `placeholder` `@Input` to both `OpBasicSingleDatePickerComponent`
and `OpBasicRangeDatePickerComponent`, and pass it through from the
server-rendered ERB template via `angular_component_tag`.
For the range picker on mobile, the same placeholder is used for
both start and end date fields.
Default `placeholder` to an empty string when not provided, to
avoid `angular_component_tag` serializing `nil` as `"null"`.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
https://community.openproject.org/work_packages/68710
In addition to adding the files section to the document edit view,
this commit makes it optional to be able to attach files to blocknote.
This is, for example, not necessary when blocknote is rendered in
read-only mode (that's not happening yet, but planned).