ls1intum / Apollon

UML Modeling Editor written in React
https://apollon-library.readthedocs.io
MIT License
65 stars 22 forks source link

[Error] Exporting Image as .png throws error if any text contains "<" #124

Closed maciello closed 4 years ago

maciello commented 4 years ago

Describe the bug

When a text area contains a "<", the "File" tab stops working. (Also an error is thrown in the background)

To Reproduce

  1. Open Apollon
  2. add Class (this works with all boxes).
  3. add method: "<" (this works in all text areas).
  4. Apollon "File" stops working. ( when using chrome:
  5. press ctrl + shift + i
  6. go to "sources"
  7. rightclick on the generated image and select "open in new tab"
  8. open console for more information )

Expected behavior

The image saves normally and displays "<" properly.

Screenshots

error

Environment

 - OS: [Windows]
 - Browser [chromei]
 - Version [84]

Additional context

Output in Web Console

    vendors.431d7ea33266092bf838.js:69 Uncaught Event {isTrusted: true, type: "error", target: null, currentTarget: null, eventPhase: 0, …}bubbles: falsecancelBubble: falsecancelable: falsecomposed: falsecurrentTarget: nulldefaultPrevented: falseeventPhase: 0isTrusted: truepath: [img]returnValue: truesrcElement: nulltarget: nulltimeStamp: 625033.1900000019type: "error"__proto__: Event
    (anonymous) @ vendors.431d7ea33266092bf838.js:69
    setTimeout (async)
    r @ vendors.431d7ea33266092bf838.js:69
    t.error @ vendors.431d7ea33266092bf838.js:85
    t._error @ vendors.431d7ea33266092bf838.js:85
    t.error @ vendors.431d7ea33266092bf838.js:85
    t.notifyError @ vendors.431d7ea33266092bf838.js:111
    t._error @ vendors.431d7ea33266092bf838.js:274
    t.error @ vendors.431d7ea33266092bf838.js:85
    e.observe @ vendors.431d7ea33266092bf838.js:37
    t.dispatch @ vendors.431d7ea33266092bf838.js:243
    t._execute @ vendors.431d7ea33266092bf838.js:213
    t.execute @ vendors.431d7ea33266092bf838.js:327
    t.flush @ vendors.431d7ea33266092bf838.js:63
    t.schedule @ vendors.431d7ea33266092bf838.js:327
    e.schedule @ vendors.431d7ea33266092bf838.js:278
    t.schedule @ vendors.431d7ea33266092bf838.js:63
    t.scheduleMessage @ vendors.431d7ea33266092bf838.js:243
    t._error @ vendors.431d7ea33266092bf838.js:243
    t.error @ vendors.431d7ea33266092bf838.js:85
    t.notifyError @ vendors.431d7ea33266092bf838.js:111
    t._error @ vendors.431d7ea33266092bf838.js:274
    t.error @ vendors.431d7ea33266092bf838.js:85
    t.notifyError @ vendors.431d7ea33266092bf838.js:111
    t._error @ vendors.431d7ea33266092bf838.js:274
    t.error @ vendors.431d7ea33266092bf838.js:85
    t.notifyError @ vendors.431d7ea33266092bf838.js:111
    t._error @ vendors.431d7ea33266092bf838.js:274
    t.error @ vendors.431d7ea33266092bf838.js:85
    (anonymous) @ vendors.431d7ea33266092bf838.js:87
    Promise.then (async)
    t @ vendors.431d7ea33266092bf838.js:87
    e._trySubscribe @ vendors.431d7ea33266092bf838.js:39
    e.subscribe @ vendors.431d7ea33266092bf838.js:39
    o @ vendors.431d7ea33266092bf838.js:327
    t._innerSub @ vendors.431d7ea33266092bf838.js:264
    t._tryNext @ vendors.431d7ea33266092bf838.js:264
    t._next @ vendors.431d7ea33266092bf838.js:264
    t.next @ vendors.431d7ea33266092bf838.js:85
    t._next @ vendors.431d7ea33266092bf838.js:37
    t.next @ vendors.431d7ea33266092bf838.js:85
    t._next @ vendors.431d7ea33266092bf838.js:37
    t.next @ vendors.431d7ea33266092bf838.js:85
    t._next @ vendors.431d7ea33266092bf838.js:161
    t.next @ vendors.431d7ea33266092bf838.js:85
    e.observe @ vendors.431d7ea33266092bf838.js:37
    t.dispatch @ vendors.431d7ea33266092bf838.js:243
    t._execute @ vendors.431d7ea33266092bf838.js:213
    t.execute @ vendors.431d7ea33266092bf838.js:327
    t.flush @ vendors.431d7ea33266092bf838.js:63
    t.schedule @ vendors.431d7ea33266092bf838.js:327
    e.schedule @ vendors.431d7ea33266092bf838.js:278
    t.schedule @ vendors.431d7ea33266092bf838.js:63
    t.scheduleMessage @ vendors.431d7ea33266092bf838.js:243
    t._next @ vendors.431d7ea33266092bf838.js:243
    t.next @ vendors.431d7ea33266092bf838.js:85
    t.next @ vendors.431d7ea33266092bf838.js:105
    t.next @ vendors.431d7ea33266092bf838.js:105
    (anonymous) @ vendors.431d7ea33266092bf838.js:116
    (anonymous) @ vendors.431d7ea33266092bf838.js:53
    t.exportDiagram @ main.3072832468657050d596.js:1
    onClick @ main.3072832468657050d596.js:1
    (anonymous) @ vendors.431d7ea33266092bf838.js:294
    (anonymous) @ vendors.431d7ea33266092bf838.js:294
    c @ vendors.431d7ea33266092bf838.js:294
    s @ vendors.431d7ea33266092bf838.js:323
    p @ vendors.431d7ea33266092bf838.js:323
    (anonymous) @ vendors.431d7ea33266092bf838.js:323
    y @ vendors.431d7ea33266092bf838.js:323
    ot @ vendors.431d7ea33266092bf838.js:323
    it @ vendors.431d7ea33266092bf838.js:323
    st @ vendors.431d7ea33266092bf838.js:323
    pt @ vendors.431d7ea33266092bf838.js:323
    N @ vendors.431d7ea33266092bf838.js:323
    F @ vendors.431d7ea33266092bf838.js:323
    $t @ vendors.431d7ea33266092bf838.js:323
    Xt @ vendors.431d7ea33266092bf838.js:323
    t.unstable_runWithPriority @ vendors.431d7ea33266092bf838.js:11
    zi @ vendors.431d7ea33266092bf838.js:323
    A @ vendors.431d7ea33266092bf838.js:323
    Jt @ vendors.431d7ea33266092bf838.js:323
    Show 49 more frames
[apollon.ase.in.tum.de-1595765286813.log](https://github.com/ls1intum/Apollon/files/4977546/apollon.ase.in.tum.de-1595765286813.log)

TobiasPr commented 4 years ago

Fixed in Apollon Standalone 0.1.7 / Apollon library 2.1.16