In Conpherence it seems is not possible to type a newline Android devices, without sending the message.
Steps to reproduce:
- open a chat in mobile (example: {Z5})
- type a message
- press shift+enter
What happens:
It sends the message.
What should happen instead:
You just type a newline.
Additional notes:
Note that some applications has ENTER to newline and shift+ENTER to send message. This is not the case. On mobile, in both cases it sends the message.
== Resources ==
It seems this is the JavaScript file that handles the `sendOnEnter` stuff:
https://we.phorge.it/source/phorge/browse/master/webroot/rsrc/js/core/behavior-phabricator-remarkup-assist.js
The current code is:
```lang=js
if (config.sendOnEnter) {
// Send on enter if the shift key is not held.
JX.DOM.listen(area, 'keydown', null,
function(e) {
if (e.getSpecialKey() != 'return') {
return;
}
// Let other listeners (particularly the inline autocomplete) have a
// chance to handle this event.
if (JX.Stratcom.pass()) {
return;
}
var raw = e.getRawEvent();
if (raw.shiftKey) {
// If the shift key is pressed, let the browser write a newline into
// the textarea.
return;
}
if (edit_mode == 'fullscreen') {
// Don't send on enter in fullscreen
return;
}
// From here on, interpret this as a "send" action, not a literal
// newline.
e.kill();
// This allows 'workflow' and similar actions to take effect.
// Such as pontificate in Conpherence
var form = e.getNode('tag:form');
JX.DOM.invoke(form, 'didSyntheticSubmit');
});
}
```
== shift+Enter: Internal events on Firefox Desktop 111 ==
{F275567,size=full}
https://w3c.github.io/uievents/tools/key-event-viewer.html
== shift+Enter: Internal events on Fennec Android 110 ==
{F275569,size=full}
https://w3c.github.io/uievents/tools/key-event-viewer.html
→ it seems mobile is fundamentally broken
----
Interestingly, this seems a specific bug in the default Android AOSP keyboard, shipped I think in at least one billion devices:
https://stackoverflow.com/q/75911453/3451846