etherpad
ETHERPAD
< DRAFT+ >

The self-hosted realtime, collaborative pads. Also, powering this site via 🔗E2H.

Revisions:
    20190709 stub
    20191001 touch
    20200510 touch
    20200906 pre-pub, push to draft

Ties to:
    🔗E2H




BASIC RESOURCES

* https://etherpad.org/

* https://blog.etherpad.org/
the blog !

* https://etherpad.org/doc/v1.7.5/
Documentation (prob not the latest version!)

* http://etherpad.idea.informer.com/
public feature requests ...

* https://github.com/ether/etherpad-lite/wiki
wiki documentation

* ###
mailing list





MISSING INFO

(as of 20190709, to my knowledge ...)

:
    * a decent installation instruction for etherpad

that includes:
        * has mysql with utfmb4
        * has ssl (let's encrypt)
        * has restarter
        * [...]


    * regular troublehshooting resources


    * sanity check for instance


    * how to effectively collaborate on pads?

Like 🔗workflow-ethering !






*** INFO


INSTALLATION


    EXISTING DOCS

official:
    * https://github.com/ether/etherpad-lite/wiki/How-to-use-Etherpad-Lite-with-MySQL :
        (BAD, SHOULD WORK TO CHANGE !!!)
    * https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy :
        using this & it is fine (2020/10)
    * [...]

new / tocheck:
    ___________________ look great!
    * https://lab.uberspace.de/guide_etherpad.html !!!
    * https://www.howtoforge.com/tutorial/ubuntu-etherpad-editor-server-installation/ :
        "enable" systemd services
    * https://wiki.evolix.org/HowtoEtherpad
    ___________________ NO
    * https://vanad.is/how-to-host-etherpad.html (no utf8mb4 mysql certainty)
    ___________________ ???
    * https://bytesandbones.wordpress.com/2019/06/17/install-etherpad-on-debian/
    * https://stackoverflow.com/questions/46075120/how-to-debug-invalid-data-in-mysql-utf8mb4-column-in-etherpad-lite-database?rq=1
    * https://www.openattic.org/posts/how-to-install-etherpad-on-debian-jessie/
    * [...]



    New own docs ...

See dcht00🔗##### !
#tomerge !!!!!!





BACKUP + RESTORE

(EXISTING DOCS) ... meh:
    * https://github.com/ether/etherpad-lite/wiki/Backing-up-and-Restoring-Etherpad-Lite-Pads
    * [...]








*** POST !!!



BUGS

!!!!!! finish and report these


________________ 20200510

* picking (B/I/U/S) styles does not work:
    1) at start of line, they don't even appear selected on buttons
    2) in other positions, they appear selected, but deselect on next keypress
    so, they only for selecting and styling existing text)


* default new UI contrast not optimal:
    * (example @ https://video.etherpad.org theme)
    * not enough contrast on style buttons
    * default text is too bright, needs to be darker


* WEIRD CURSOR BEHAVIOURS on wrapped line:
    * from below going up - does not end up on end
    * gets stuck (but only on first character!)
    * [...]


* missing: stable link to latest version of documentation:
    I suggest it would be good to point https://etherpad.org/doc either to:
    a) an index of docs <--
    b) or the last version of them


* 100% cpu, then FAILURE (via timeouts) on moving bigger pads:
    My instance has ___ mb mysql DB.
    Pad in question has ___ edits (seen with most bigger pads).
    Command (via Curl) fails after ___ seconds.
    Log (on "DEBUG" says) ___
    ________________
    (more below!)


* you have space indented lines:
    (like this ... select whole line + copy + position to start of line + paste)
    it pastes, then gets merged on end of line
    ___________
    UPDATE: 20210119 cannot reproduce


* you're on a tabulator indented line & line above it is empty:
    press backspace.
    instead of deleting the indentation, it deletes the empty line above it.
    (this makes it difficult to clean random indents)
    ___________
    UPDATE: 20210119 can't repro


* loading delay in timeslider view, without any indication:
    on long documents, it takes maybe a minute (or more?) to load the revisions
    until then, the playback is rolling. but it's all foo.
    A) freeze playback until it's loaded
    B) indicate progress of loading
    C) ???


* connection failures (with lost content) happen all the time:
    * reconnect, i haven't seen working once ... it's a sign the thing will fail.
    * how to have an updated status if still connected?:
        A) maintain "lest ping" timer, if not reached, have a yellow light somewhere. make this optional.
    * how to not lose content?
    what could be done about this?:
        A) work with local storage:
            * "base" version updates ought to be applied to 
            * when reconnected, did anything change? nope? apply!
        B) [...]


* try copying in something from gnome terminal, as "Copy as HTML" (with right click):
    at least for some inpiuts (while testing with E2H_PSTE) it breaks etherpad when pasting ... :
        1) view is fucked
        2) you can still type but it's all fucked
    it seems it's because it all wraps into a <pre> window! and this isn't stripped
    ---------------
    NOT EASY TO REPRODUCE ?


* copying in a tab-space, it default to 8 characters:
    i propose:
        * defaulting to 4
        * making it a setting


* ... also tabulation should be (optionally, at least) spaces based:
    tab + shift-tab should work to a pre-defined spacing level


* listallpads API should include time (and maybe revision no):
    https://etherpad.org/doc/v1.7.5/#index_listallpads
    -----------
    A) all include this info (for backwards compatibility, add opt-in flag)
    B) listallpads changed after T
    [...]


* very big pads fail to export .etherpad
(give "proxy error")
----------
workaround:
    it works as a localhost export!
    this means it's a proxy timeout problem!
so:
    find if this is documented yet
    and where to change it (in a sensible way)


* fail to "import" very big .etherpad files (30MB)
maybe same (timeouts) problem?
... check debug log!


* timeslider date format is weird:
    MM/DD/YYYY ......... REALLY?!
    WTF



* (2020/11) On pad disconnect (sleep→restore, momentary connection loss, ...), this scary message awaits you in a red tab
"""
ErrorId: X2XN0VHQ9x31mrLceaRL
URL: https://pad.totalism.org/p/hahaha
UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0
Error: socket.io connection error: {"type":"TransportError","description":{"isTrusted":true}}
at https://pad.totalism.org/javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define&v=c3a14a55 at line 225
"""
This did not happen in the 2020/05 versions.
As a general reccomendation, I would prefer if these "red screens of death" wouldn't be displayed to the user.
I'm not sure what they want to achieve ... to "nag the admin"? They're already in the logs, right?
Or at least - make it configurable?


* you have to first make an edit to be able to see the "import" button
that's just ... wierd. right?


* etherpad (and also html export) fucks up on "*" character, ends URL/link
reproduce:
    """https:// miro.medium.com/max/700/1*TT5CJCmZ_-Kj8QZ06y2WEw.png"""
    (drop space)
"*" seems valid per:
    https://stackoverflow.com/questions/1547899/which-characters-make-a-url-invalid


* ... does same for " ' ", see
    https://en.wikipedia.org/wiki/Gentlemen's_agreement


* there is no way to paste long strings without having them broken up at ??? character
(this was an issue when doing 🔗test-datapad-css !)


* inconsistent url interpretation between editor and html export:
    in pads "www.x" is already a link, also "www.x.whatever" or "www.blabla.com:80"
    but not in export html, where you need to add the protocol.
    "whatever://haha.com" nowhere
    but http://x in both


* you copy-paste a line that has some empty lines after it:
    you will get a bonus of 2 empty lines!


* somebody is writing at the very end of the document. no empty line after it. you're unable to be adding something later:
    A) enable possibility to MOVE DOWN a single additional line below the last person's caret:
        """
        if OTHER PERSON CARET at end of docu (moving end forward)
        then DOWN at that line makes a new line + puts MY CARET there
        """
    B) always CREATE EMPTY NEW LINE if text in last line:
        there cannot be anything in last line, it will create another one
    C) ###


* undercores in pad names, are dropped from tab title


* timeslider export/settings buttons don't pop up on top
instead you have to scroll up to get them.
either fix their position, or scroll up to them when pressed.


* URLs ending in ")" are not put together correctly

https://en.wikipedia.org/wiki/De_ou_par_Marcel_Duchamp_ou_Rrose_S%C3%A9lavy_(La_Bo%C3%AEte-en-valise)



<------------------------------------- (new) BUGS ↑






FEATURE REQUESTS

* merge two pads & preserve history!:
    1) on existing pod
    2) etherpad export from pod 1 → import to pod 2
    ______________
    how:
        v1) just append it at end (while preserving timestamps). then the people can manually merge.
        v2) do more fancy stuff


* timeslider BLAME:
    * be able to see when some edit hapened
    * jump to that edit easily (and see if something was fucked around it)
    -------------
    Problem:
        You have line 1-10
        You remove 4-8
        How will this show up in blame??


* timeslider SEARCH:
    * [...]


<------------------------------------- (new) FEATURES ↑







*** PAD


bug: rename of bigger pads fails

(20190710, and oldie)
in a really weird way?
just crashes instance?

case "huje" 20190710:
    * first failed + crashed instance:
        nothing in WARN-level logs !
    * second time ...:
        """
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>502 Proxy Error</title>
</head><body>
<h1>Proxy Error</h1>
<p>The proxy server received an invalid
response from an upstream server.<br />
The proxy server could not handle the request <em><a href="/api/1.2.13/movePad">GET&nbsp;/api/1.2.13/movePad</a></em>.<p>
Reason: <strong>Error reading from remote server</strong></p></p>
<hr>
<address>Apache/2.4.29 (Ubuntu) Server at pad.totalism.org Port 443</address>
</body></html>
        """
    * ... but i went to source e2h and it was not there
    * ... and destination was and nothing broke !
    * so WTF





CHECK THESE PLUGINS !!!!!!

20191203

def:
    * https://www.npmjs.com/package/ep_mypads :
        users and permissions
        what FRAMA uses !!!
    * https://www.npmjs.com/package/ep_htaccess_auth :
        maybe simple permissions ?

cool:
    * https://www.npmjs.com/package/ep_insert_text :
        WOW - autocomplete from ext source!
    * https://www.npmjs.com/package/ep_author_neat :
        colour author names ???:
        with CSS - usefull for Q&A, #templates, etc
    * https://www.npmjs.com/package/ep_export_authors :
        ... another same one !!!
            #e2h #feature !!!!!!

interesting:
    * https://www.npmjs.com/package/ep_sociallinks
    * https://www.npmjs.com/package/ep_text_statistics

huuuuuuh:
    * https://www.npmjs.com/package/ep_element
    * https://www.npmjs.com/package/ep_reference



!!! #tomerge my resources from "###linux" 
    #tomerge and publish !!!!!!


!!! publish this site, by linking it to...
:
    * etherpad wiki
    * etherpad mailing list
    * stackoverflow
    * [...]



500 internal error for proxypass ... this did it!

"""
sudo a2enmod proxy_wstunnel
#besides the more obvious
sudo a2enmod proxy  
sudo a2enmod proxy_http
"""

h/t https://stackoverflow.com/questions/23931987/apache-proxy-no-protocol-handler-was-valid
ties to https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy

do guides say this?
* https://feeding.cloud.geek.nz/posts/installing-etherpad-on-debianubuntu/ :
    no
* https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy :
    (official)
    YES
* [...]


<---------------------------------- ((new))





(Site generated by E2H, an "Etherpad hypermedia" project by @dcht00). Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


Edit Site

Edit CSS