flarum / flarum/framework

There is no way to refresh the composer's preview except by modifying its content

Open
#3,720 2 comments 0 reactions 0 assignees View on GitHub
needs-clarification
Dominant language
PHP
Stars
6.7k
Forks
883
Avg merge
15h 16m
Merged PRs (30d)
73

Description

### Current Behavior

TextFormatter does not allow to use asynchronous calls in the Javascript part of a filter, so I need to refresh the preview once the Promise is resolved (see https://github.com/s9e/TextFormatter/issues/208), but there is currently no way to do this in Flarum.

### Steps to Reproduce

1. In an extension, try to refresh the composer preview
2. There is no way

### Expected Behavior

There should be some kind of function, maybe in [`EditorDriverInterface`](https://api.docs.flarum.org/js/main/interfaces/src_common_utils.editordriverinterface), or directly in `app.composer` ([`ComposerState`](https://api.docs.flarum.org/js/main/classes/src_forum_states.composerstate)).

### Screenshots

_No response_

### Environment

- Flarum version: 1.6.2
- Website URL: localhost
- Webserver: PBP built-in web server
- Hosting environment: local
- PHP version: 8.1.12 (cli) (built: Nov 10 2022 02:42:46) (NTS)
- Browser: Mozilla Firefox 108.0

### Output of `php flarum info`

```
Flarum core 1.6.2
PHP version: 8.1.12
MySQL version: 10.6.11-MariaDB-1
Loaded extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, json, pcntl, Reflection, SPL, session, standard, sodium, mysqlnd, PDO, xml, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, iconv, intl, exif, mysqli, pdo_mysql, pdo_sqlite, Phar, posix, readline, shmop, SimpleXML, sockets, sqlite3, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, Zend OPcache
+-------------------------+-------------------------+------------------------------------------+
| Flarum Extensions | | |
+-------------------------+-------------------------+------------------------------------------+
| ID | Version | Commit |
+-------------------------+-------------------------+------------------------------------------+
| flarum-flags | v1.6.1 | |
| flarum-tags | v1.6.1 | |
| flarum-approval | v1.6.1 | |
| ianm-syndication | dev-master | b65feab8bc3514fe7e83b1b5d5ce4c9ff07b6b48 |
| flarum-suspend | v1.6.1 | |
| flarum-subscriptions | v1.6.1 | |
| flarum-sticky | v1.6.1 | |
| flarum-statistics | v1.6.1 | |
| flarum-mentions | v1.6.1 | |
| flarum-markdown | v1.6.1 | |
| flarum-lock | v1.6.1 | |
| flarum-likes | v1.6.1 | |
| flarum-lang-french | v4.4.0 | |
| flarum-lang-english | v1.6.0 | |
| flarum-emoji | v1.6.1 | |
| flarum-bbcode | v1.6.0 | |
| club-1-cross-references | dev-feat/text-formatter | 294ec30939e1a89239baae02f74c898bcd27fa5c |
+-------------------------+-------------------------+------------------------------------------+
Base URL: http://localhost:8080
Installation path: /home/nicolas/Source/www/flarum
Queue driver: sync
Session driver: file
Mail driver: smtp
Debug mode: ON

```

### Possible Solution

_No response_

### Additional Context

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.