Skip to content

Modals stop working if composer opened both tags and language modals before #33

@clarkwinkelmann

Description

@clarkwinkelmann

Bug Report

Current Behavior
If you cause 2 modals to open during discussion composing, all modals open after the discussion is created are broken until the single page app is reloaded. No errors appear in the console.

Steps to Reproduce

  1. Open new discussion composer
  2. Fill title and content but leave language and tags empty
  3. Language modal appears, select a language
  4. Tags modal appears, select a tag
  5. On the new discussion page, click "rename", "edit tags" or other modals like FoF Mason

The modals that open on the new discussion page can't be closed by clicking the backdrop or the cross icon. Title edit doesn't work and spins forever. Tag edit works but the modal never closes.

No error is logged to the javascript console. Backend errors are irrelevant since no requests are made when the error occurs.

Environment

  • Flarum version: 1.5.0
  • Extension version: 1.2.7
  • Webserver: apache
  • Hosting environment: local
  • PHP version: 8.0
  • Browser: Firefox 104.0
Flarum core 1.5.0
PHP version: 8.0.23
MySQL version: 8.0.30-0ubuntu0.20.04.2
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, zip, Zend OPcache
+-------------------------+------------+------------------------------------------+
| Flarum Extensions       |            |                                          |
+-------------------------+------------+------------------------------------------+
| ID                      | Version    | Commit                                   |
+-------------------------+------------+------------------------------------------+
| flarum-tags             | v1.5.0     |                                          |
| flarum-flags            | v1.5.0     |                                          |
| fof-discussion-language | dev-master | 5dadbf8297eefb28f27da3c7e4ae52b7500ee3a1 |
| flarum-suspend          | v1.5.0     |                                          |
| flarum-subscriptions    | v1.5.0     |                                          |
| flarum-sticky           | v1.5.0     |                                          |
| flarum-statistics       | v1.5.0     |                                          |
| flarum-mentions         | v1.5.0     |                                          |
| flarum-markdown         | v1.5.0     |                                          |
| flarum-lock             | v1.5.0     |                                          |
| flarum-likes            | v1.5.0     |                                          |
| flarum-lang-english     | v1.5.0     |                                          |
| flarum-emoji            | v1.5.0     |                                          |
| flarum-bbcode           | v1.5.0     |                                          |
| flarum-approval         | v1.5.0     |                                          |
+-------------------------+------------+------------------------------------------+
Base URL: http://1.5.flarum.localhost
Installation path: /home/clark/Projects/flarum-1.5
Queue driver: sync
Mail driver: smtp
Debug mode: ON

Possible solution(s)
I'm really not sure what's going on. I haven't tried back on Flarum 1.4 to check if it's a stackable modal change that causes this.

I tried with both regular and admin users, both have the issue.

Originally I thought my Composer Page extension caused the issue but I was able to disable everything else and still reproduce.

I'm not sure it's specific to Discussion Language, it might just be because 2 modals are open in close succession, or maybe because one modal is still being closed while the page changes.

I suspect maybe the new stackable modal context feature freaks out and keeps the context on a modal that no longer exists, preventing to interact with any other modal.

Note: modals can still be closed via app.modal.close() in the browser console. No errors when running that command either.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions