[Support] Djoss - JDownloader 2


Recommended Posts

It just says "Failed".

 

1543026527953 - Archive Name: Cake.me_W4F-TBU.720p
1543026527954 - Archive Path: /output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part1.rar
1543026527954 - Date:Fri Nov 23 20:28:47 UTC 2018
1543026527954 - Start Extracting
1543026527955 - Extension Setup: 
{
  "blacklistpatterns" : [ "##Lines with ## are comments", "## Use / as path seperator", "##Example to skip extraction of sample folder files", ".*\\.jpe?g", ".*\\.html?", ".*\\.nfo", ".*\\.txt", ".*\\.url" ],
  "deepextractionenabled" : true,
  "deletearchivefilesafterextractionaction" : "NULL",
  "flushmode" : "NONE",
  "deleteinfofilesafterextraction" : false,
  "maxcheckedfilesizeduringoptimizedpasswordfindinginbytes" : 1024000,
  "iffileexistsaction" : "SKIP_FILE",
  "askforunknownpasswordsenabled" : true,
  "customextractionpathenabled" : false,
  "subpath" : "%PACKAGENAME%",
  "bubblecontentarchivenamevisible" : true,
  "latestiffileexistsaction" : "OVERWRITE_FILE",
  "deletearchivedownloadlinksafterextraction" : true,
  "bubblecontentextracttofoldervisible" : true,
  "lastworkinglibid" : "Linux-amd64",
  "subpathenabled" : true,
  "enabled" : true,
  "useoriginalfiledate" : true,
  "freshinstall" : false,
  "guienabled" : false,
  "writeextractionlogenabled" : true,
  "bubblecontentcircleprogressvisible" : true,
  "passwordfindoptimizationenabled" : true,
  "iomodeforcrchashing" : "NORMAL",
  "bubbleenabledifarchiveextractionisinprogress" : true,
  "subpathminfolderstreshhold" : 0,
  "restorefilepermissions" : true,
  "bubblecontentstatusvisible" : true,
  "customextractionpath" : "/output/fin/Movies/<jd:packagename>",
  "cpupriority" : "HIGH",
  "passwordlist" : [ "Cake.me" ],
  "subpathminfilesorfolderstreshhold" : 2,
  "bubblecontentdurationvisible" : true,
  "subpathminfilestreshhold" : 0,
  "askforpassworddialogtimeoutinms" : 600000,
  "oldpwlistimported" : true,
  "deepextractionblacklistpatterns" : [ "##Lines with XX are comments", "##Skip deep extraction of archives that contain binary files", ".*\\.exe", ".*\\.msi", ".*\\.bat", ".xbe", ".elf", ".sh" ],
  "bubblecontentcurrentfilevisible" : true
}
1543026527955 - Archive Setup: 
{
  "autoExtract" : "UNSET",
  "extractionInfo" : null,
  "extractPath" : null,
  "finalPassword" : null,
  "ifFileExistsAction" : null,
  "passwords" : [ ],
  "removeDownloadLinksAfterExtraction" : "UNSET",
  "removeFilesAfterExtraction" : "UNSET"
}
1543026527955 - Start unpacking of /output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part1.rar
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part1.rar|FileArchiveFileExists:true|FileSize:1572864000
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part2.rar|FileArchiveFileExists:true|FileSize:1572864000
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part3.rar|FileArchiveFileExists:true|FileSize:1572864000
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part4.rar|FileArchiveFileExists:true|FileSize:1083426531
1543026527955 - Prepare
1543026527956 - Failed
Edited by Katherine
Link to comment
On 11/24/2018 at 12:56 PM, Katherine said:

It just says "Failed".

 


1543026527953 - Archive Name: Cake.me_W4F-TBU.720p
1543026527954 - Archive Path: /output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part1.rar
1543026527954 - Date:Fri Nov 23 20:28:47 UTC 2018
1543026527954 - Start Extracting
1543026527955 - Extension Setup: 
{
  "blacklistpatterns" : [ "##Lines with ## are comments", "## Use / as path seperator", "##Example to skip extraction of sample folder files", ".*\\.jpe?g", ".*\\.html?", ".*\\.nfo", ".*\\.txt", ".*\\.url" ],
  "deepextractionenabled" : true,
  "deletearchivefilesafterextractionaction" : "NULL",
  "flushmode" : "NONE",
  "deleteinfofilesafterextraction" : false,
  "maxcheckedfilesizeduringoptimizedpasswordfindinginbytes" : 1024000,
  "iffileexistsaction" : "SKIP_FILE",
  "askforunknownpasswordsenabled" : true,
  "customextractionpathenabled" : false,
  "subpath" : "%PACKAGENAME%",
  "bubblecontentarchivenamevisible" : true,
  "latestiffileexistsaction" : "OVERWRITE_FILE",
  "deletearchivedownloadlinksafterextraction" : true,
  "bubblecontentextracttofoldervisible" : true,
  "lastworkinglibid" : "Linux-amd64",
  "subpathenabled" : true,
  "enabled" : true,
  "useoriginalfiledate" : true,
  "freshinstall" : false,
  "guienabled" : false,
  "writeextractionlogenabled" : true,
  "bubblecontentcircleprogressvisible" : true,
  "passwordfindoptimizationenabled" : true,
  "iomodeforcrchashing" : "NORMAL",
  "bubbleenabledifarchiveextractionisinprogress" : true,
  "subpathminfolderstreshhold" : 0,
  "restorefilepermissions" : true,
  "bubblecontentstatusvisible" : true,
  "customextractionpath" : "/output/fin/Movies/<jd:packagename>",
  "cpupriority" : "HIGH",
  "passwordlist" : [ "Cake.me" ],
  "subpathminfilesorfolderstreshhold" : 2,
  "bubblecontentdurationvisible" : true,
  "subpathminfilestreshhold" : 0,
  "askforpassworddialogtimeoutinms" : 600000,
  "oldpwlistimported" : true,
  "deepextractionblacklistpatterns" : [ "##Lines with XX are comments", "##Skip deep extraction of archives that contain binary files", ".*\\.exe", ".*\\.msi", ".*\\.bat", ".xbe", ".elf", ".sh" ],
  "bubblecontentcurrentfilevisible" : true
}
1543026527955 - Archive Setup: 
{
  "autoExtract" : "UNSET",
  "extractionInfo" : null,
  "extractPath" : null,
  "finalPassword" : null,
  "ifFileExistsAction" : null,
  "passwords" : [ ],
  "removeDownloadLinksAfterExtraction" : "UNSET",
  "removeFilesAfterExtraction" : "UNSET"
}
1543026527955 - Start unpacking of /output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part1.rar
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part1.rar|FileArchiveFileExists:true|FileSize:1572864000
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part2.rar|FileArchiveFileExists:true|FileSize:1572864000
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part3.rar|FileArchiveFileExists:true|FileSize:1572864000
1543026527955 -  (DownloadLinkArchiveFile)File:/output/fin/Movies/Cake Wars/Cake.me_W4F-TBU.720p.part4.rar|FileArchiveFileExists:true|FileSize:1083426531
1543026527955 - Prepare
1543026527956 - Failed

 

Were you able to confirm if the archive is in rar5 format or not?

Also, if you want you can send me all your logs via PM: I can check if I see anything else.

  • Upvote 1
Link to comment
  • 2 weeks later...

@Djoss Thank you so much for the offer. I'll do some testing on rar/zip files and then PM you the logs by next week.

I used WinRAR to extract this archive and it went well. I'm fairly certain this is not an archive specific issue because I haven't been able to extract anything. Not sure what I am doing wrong. Is it a settings issue? or permissions issue? I'm hoping I can figure it out so I can avoid firing up the Windows VM just to extract archives. 😁

 

 

Link to comment
17 hours ago, Katherine said:

@Djoss Thank you so much for the offer. I'll do some testing on rar/zip files and then PM you the logs by next week.

I used WinRAR to extract this archive and it went well. I'm fairly certain this is not an archive specific issue because I haven't been able to extract anything. Not sure what I am doing wrong. Is it a settings issue? or permissions issue? I'm hoping I can figure it out so I can avoid firing up the Windows VM just to extract archives. 😁

 

 

I just tried to download a tar, zip and rar and they all extracted successfully.  If you have link that you can share, I could try to reproduce on my end. 

Link to comment
2 hours ago, nuhll said:

without propper support for the jdownloader plugin is is sadly pretty useless.

 

Happens all the time if u dont use it. 

 

I removed the docker.

What do you mean exactly by "without propper support for the jdownloader plugin" ?  Are you talking about the extractor?

Link to comment

I want to let docker run on the server 24/7.

 

Sometimes when i download bigger files i just wanted to right click "download via server". (theres a jdownloader plugin for it from the devs of jdwonloader)  you need to login there and within the server iteself.

 

That all workes and after that u can downoad and it just works.

 

But, after some time, i dont know, server says its connected, plugin says its connected, but when you want to download, it says its unreachable, if u then relog to the webinterface of the server, then you get logged out of plugin and server, reconnect and it works again.

 

I posted the error some pages fewer, but i couldnt figure out what exactly is the problem and since i dont have any logs or somethingi can provide, i guess u cant fix it.

 

I think the porblem is if you longer dont use it it kills the session or something and the docker dont relog automatic or something like this.

Edited by nuhll
Link to comment
19 hours ago, nuhll said:

I want to let docker run on the server 24/7.

 

Sometimes when i download bigger files i just wanted to right click "download via server". (theres a jdownloader plugin for it from the devs of jdwonloader)  you need to login there and within the server iteself.

 

That all workes and after that u can downoad and it just works.

 

But, after some time, i dont know, server says its connected, plugin says its connected, but when you want to download, it says its unreachable, if u then relog to the webinterface of the server, then you get logged out of plugin and server, reconnect and it works again.

 

I posted the error some pages fewer, but i couldnt figure out what exactly is the problem and since i dont have any logs or somethingi can provide, i guess u cant fix it.

 

I think the porblem is if you longer dont use it it kills the session or something and the docker dont relog automatic or something like this.

Have you tried seeking support from the makers of Jdownloader or maybe on its support forum? I am a user of this docker container, the MyJdownloader site, the android app, though not the browser plugins. My first instinct would be to say that the problem probably lies within the Jdownloader application itself and not the docker packaging. From my personal experience running Jdownloader 24/7 I have noticed that the Jdownloader remote access architecture, that connects the MyJdownloader site -> a Jdownloader instance (and likely is behind pluging connection), generally does not work all that well. I see connections from the site run slowly and fail all the time when i am certain the container and Jdownloader instance are running fine. In past version it has been more stable but lately it has been really hit or miss. I havent yet been bothered enough to seek support for it.

Link to comment
20 hours ago, nuhll said:

I want to let docker run on the server 24/7.

 

Sometimes when i download bigger files i just wanted to right click "download via server". (theres a jdownloader plugin for it from the devs of jdwonloader)  you need to login there and within the server iteself.

 

That all workes and after that u can downoad and it just works.

 

But, after some time, i dont know, server says its connected, plugin says its connected, but when you want to download, it says its unreachable, if u then relog to the webinterface of the server, then you get logged out of plugin and server, reconnect and it works again.

 

I posted the error some pages fewer, but i couldnt figure out what exactly is the problem and since i dont have any logs or somethingi can provide, i guess u cant fix it.

 

I think the porblem is if you longer dont use it it kills the session or something and the docker dont relog automatic or something like this.

 

I don't really understand what you mean by "log into the vnc" or "log to the web interface".  Maybe it's a stupid question, but are you sure you are using my container and not the aptalca's one?  Because with the aptalca container, when you access the web interface, you do get a kind of logging page before getting access to the JDownloader interface.

Link to comment
13 minutes ago, Djoss said:

 

I don't really understand what you mean by "log into the vnc" or "log to the web interface".  Maybe it's a stupid question, but are you sure you are using my container and not the aptalca's one?  Because with the aptalca container, when you access the web interface, you do get a kind of logging page before getting access to the JDownloader interface.

No, i was using your docker. U click to webinterface and see it instant, your docker is mcuh more responsive and besides that "log out" or what ever there happens working very fast.

 

I contacted jdwonloader support for this, but they obvs. dont want to support a docker... xD

 

I destriped my problem for the first time on page 4 & 5.

Edited by nuhll
Link to comment
3 hours ago, primeval_god said:

Have you tried seeking support from the makers of Jdownloader or maybe on its support forum? I am a user of this docker container, the MyJdownloader site, the android app, though not the browser plugins. My first instinct would be to say that the problem probably lies within the Jdownloader application itself and not the docker packaging. From my personal experience running Jdownloader 24/7 I have noticed that the Jdownloader remote access architecture, that connects the MyJdownloader site -> a Jdownloader instance (and likely is behind pluging connection), generally does not work all that well. I see connections from the site run slowly and fail all the time when i am certain the container and Jdownloader instance are running fine. In past version it has been more stable but lately it has been really hit or miss. I havent yet been bothered enough to seek support for it.

So u expierience the same?

Link to comment
Just now, nuhll said:

So u expierience the same?

Similar. As I mentioned i dont use the Chrome plugin only the my.jdownloader webapp and the android mobile app. I am making the assumption that they use the same backend communications channel as the browser plugin(s). Looking back at your original posts though I am not seeing errors on either app that tell me i need to log back in, rather I see occasional (more like often) terrible performance/connection drops/inability to connect to jdownloader. A further difference is that i have never found that bringing up the docker WebGUI (which always works fine) does anything to resolve the issues, they just eventually get better. I have not however found any indication that the Jdownloader application is crashing/freezing/or losing network connection within the docker container and i have maintained 24-7 uptime for upwards of a month at a time. 

Link to comment

Hi @Djoss,

 

i have, what seems to be a hardware bottlenecking issue:

When JDownloader starts unpacking downloaded files, the extremely high io takes the rest of my server with it.

That is, my cache-pool seems to bottleneck hard, when files are extracted. Plex/nginx, even the webinterface of Unraid, are extremely unresponsive as long as the files are processed. Afterwards, everything returns to normal (so there is no crash/error).

 

I have tried various commands to limit reads/writes of this container - to no avail.

 

Do you have any idea how i could limit the containers iops to keep my system running?

 

I have ruled out ssd temps as the issue, they are fine at ~40°C or lower.

Link to comment
On 12/8/2018 at 4:31 PM, rix said:

Hi @Djoss,

 

i have, what seems to be a hardware bottlenecking issue:

When JDownloader starts unpacking downloaded files, the extremely high io takes the rest of my server with it.

That is, my cache-pool seems to bottleneck hard, when files are extracted. Plex/nginx, even the webinterface of Unraid, are extremely unresponsive as long as the files are processed. Afterwards, everything returns to normal (so there is no crash/error).

 

I have tried various commands to limit reads/writes of this container - to no avail.

 

Do you have any idea how i could limit the containers iops to keep my system running?

 

I have ruled out ssd temps as the issue, they are fine at ~40°C or lower.

I have the same issue.  I my case, just copying a big file the the cache drive makes the whole system very unresponsive, especially docker containers.  I never found the reason why this is happening.  I had to disable usage of the cache drive for my share.

Link to comment
On 12/7/2018 at 4:21 PM, primeval_god said:

Similar. As I mentioned i dont use the Chrome plugin only the my.jdownloader webapp and the android mobile app. I am making the assumption that they use the same backend communications channel as the browser plugin(s). Looking back at your original posts though I am not seeing errors on either app that tell me i need to log back in, rather I see occasional (more like often) terrible performance/connection drops/inability to connect to jdownloader. A further difference is that i have never found that bringing up the docker WebGUI (which always works fine) does anything to resolve the issues, they just eventually get better. I have not however found any indication that the Jdownloader application is crashing/freezing/or losing network connection within the docker container and i have maintained 24-7 uptime for upwards of a month at a time. 

 

On 12/7/2018 at 4:22 PM, nuhll said:

i never had any slowdowns or similier, either its working, or not.

 

Bringing the ui back most times make me need to reconnect to plugin and via the docker. But also not always.

 

If you are using the mobile app/plugin locally, you could try the enable direct connection to see if it helps: https://github.com/jlesage/docker-jdownloader-2/#direct-connection

Edited by Djoss
  • Like 1
Link to comment
On 12/8/2018 at 11:23 PM, Squid said:

Have you tried this https://docs.docker.com/engine/reference/run/#block-io-bandwidth-blkio-constraint  Should allow you to prioritize containers and their IO use.  Won't help however with non-containers (ie: GUI) being starved for IO

I tried these io limiters, as well as the kbps commands - which did not seem to have any effect. I am forced to set those limits for a specific device (/dev/sdX), the cache pool itself is not working (/mnt/cache/appdata). Since my containers use the latter, it is not working.

 

10 minutes ago, Djoss said:

I have the same issue.  I my case, just copying a big file the the cache drive makes the whole system very unresponsive, especially docker containers.  I never found the reason why this is happening.  I had to disable usage of the cache drive for my share.

Strange. Looking at my build, the old MX100 could be the culprit,.. I will try to remove it from my cache pool and do some unrar-stress testing.

 

Has anyone else experienced this? Might be worth a more genereal thread..

Link to comment

Hi @all,

 

i´ve got a Problem! I can´t access to the ui (i think xserver) but i can access to the myjdownloader ui. The Docker log says 

 

14/12/2018 02:47:05 idle keyboard: turning X autorepeat back on.
14/12/2018 03:23:34 got closure, reason 1001
14/12/2018 03:23:34 rfbProcessClientNormalMessage: read: Connection reset by peer
14/12/2018 03:23:34 client_count: 0
14/12/2018 03:23:34 Client 127.0.0.1 gone
14/12/2018 03:23:34 Statistics events Transmit/ RawEquiv ( saved)
14/12/2018 03:23:34 ServerCutText : 3 | 72/ 72 ( 0.0%)
14/12/2018 03:23:34 FramebufferUpdate : 80201 | 0/ 0 ( 0.0%)
14/12/2018 03:23:34 LastRect : 11225 | 134700/ 134700 ( 0.0%)
14/12/2018 03:23:34 tight : 263508 | 125041763/1994888592 ( 93.7%)
14/12/2018 03:23:34 RichCursor : 1 | 1374/ 1374 ( 0.0%)
14/12/2018 03:23:34 TOTALS : 354938 | 125177909/1995024738 ( 93.7%)
14/12/2018 03:23:34 Statistics events Received/ RawEquiv ( saved)
14/12/2018 03:23:34 KeyEvent : 48 | 384/ 384 ( 0.0%)
14/12/2018 03:23:34 PointerEvent : 8104 | 48624/ 48624 ( 0.0%)
14/12/2018 03:23:34 FramebufferUpdate : 80202 | 802020/ 802020 ( 0.0%)
14/12/2018 03:23:34 SetEncodings : 1 | 56/ 56 ( 0.0%)
14/12/2018 03:23:34 SetPixelFormat : 1 | 20/ 20 ( 0.0%)
14/12/2018 03:23:34 TOTALS : 88356 | 851104/ 851104 ( 0.0%)
14/12/2018 16:12:31 Got connection from client 127.0.0.1
14/12/2018 16:12:31 other clients:
14/12/2018 16:12:31 Got 'ws' WebSockets handshake
14/12/2018 16:12:31 Got protocol: binary
14/12/2018 16:12:31 - webSocketsHandshake: using binary/raw encoding
14/12/2018 16:12:31 - WebSockets client version hybi-13
14/12/2018 16:12:31 Disabled X server key autorepeat.
14/12/2018 16:12:31 to force back on run: 'xset r on' (3 times)
14/12/2018 16:12:31 incr accepted_client=9 for 127.0.0.1:48942 sock=10
14/12/2018 16:12:31 webSocketsDecodeHybi: got frame without mask
14/12/2018 16:12:31 rfbProcessClientProtocolVersion: read: I/O error
14/12/2018 16:12:31 client_count: 0
14/12/2018 16:12:31 Restored X server key autorepeat to: 1
14/12/2018 16:12:31 Client 127.0.0.1 gone
14/12/2018 16:12:31 Statistics events Transmit/ RawEquiv ( saved)
14/12/2018 16:12:31 TOTALS : 0 | 0/ 0 ( 0.0%)
14/12/2018 16:12:31 Statistics events Received/ RawEquiv ( saved)

 

is it possible to fix it?

 

 

 

Edited by Snickers
Link to comment
52 minutes ago, Snickers said:

Hi @all,

 

i´ve got a Problem! I can´t access to the ui (i think xserver) but i can access to the myjdownloader ui. The Docker log says 

 

14/12/2018 02:47:05 idle keyboard: turning X autorepeat back on.
14/12/2018 03:23:34 got closure, reason 1001
14/12/2018 03:23:34 rfbProcessClientNormalMessage: read: Connection reset by peer
14/12/2018 03:23:34 client_count: 0
14/12/2018 03:23:34 Client 127.0.0.1 gone
14/12/2018 03:23:34 Statistics events Transmit/ RawEquiv ( saved)
14/12/2018 03:23:34 ServerCutText : 3 | 72/ 72 ( 0.0%)
14/12/2018 03:23:34 FramebufferUpdate : 80201 | 0/ 0 ( 0.0%)
14/12/2018 03:23:34 LastRect : 11225 | 134700/ 134700 ( 0.0%)
14/12/2018 03:23:34 tight : 263508 | 125041763/1994888592 ( 93.7%)
14/12/2018 03:23:34 RichCursor : 1 | 1374/ 1374 ( 0.0%)
14/12/2018 03:23:34 TOTALS : 354938 | 125177909/1995024738 ( 93.7%)
14/12/2018 03:23:34 Statistics events Received/ RawEquiv ( saved)
14/12/2018 03:23:34 KeyEvent : 48 | 384/ 384 ( 0.0%)
14/12/2018 03:23:34 PointerEvent : 8104 | 48624/ 48624 ( 0.0%)
14/12/2018 03:23:34 FramebufferUpdate : 80202 | 802020/ 802020 ( 0.0%)
14/12/2018 03:23:34 SetEncodings : 1 | 56/ 56 ( 0.0%)
14/12/2018 03:23:34 SetPixelFormat : 1 | 20/ 20 ( 0.0%)
14/12/2018 03:23:34 TOTALS : 88356 | 851104/ 851104 ( 0.0%)
14/12/2018 16:12:31 Got connection from client 127.0.0.1
14/12/2018 16:12:31 other clients:
14/12/2018 16:12:31 Got 'ws' WebSockets handshake
14/12/2018 16:12:31 Got protocol: binary
14/12/2018 16:12:31 - webSocketsHandshake: using binary/raw encoding
14/12/2018 16:12:31 - WebSockets client version hybi-13
14/12/2018 16:12:31 Disabled X server key autorepeat.
14/12/2018 16:12:31 to force back on run: 'xset r on' (3 times)
14/12/2018 16:12:31 incr accepted_client=9 for 127.0.0.1:48942 sock=10
14/12/2018 16:12:31 webSocketsDecodeHybi: got frame without mask
14/12/2018 16:12:31 rfbProcessClientProtocolVersion: read: I/O error
14/12/2018 16:12:31 client_count: 0
14/12/2018 16:12:31 Restored X server key autorepeat to: 1
14/12/2018 16:12:31 Client 127.0.0.1 gone
14/12/2018 16:12:31 Statistics events Transmit/ RawEquiv ( saved)
14/12/2018 16:12:31 TOTALS : 0 | 0/ 0 ( 0.0%)
14/12/2018 16:12:31 Statistics events Received/ RawEquiv ( saved)

 

is it possible to fix it?

 

 

 

What the browser is showing/telling?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.