Skip to content

Database Seams Okay - Web Pad Is Empty #5762

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wilkis3 opened this issue Jun 24, 2023 · 17 comments
Closed

Database Seams Okay - Web Pad Is Empty #5762

wilkis3 opened this issue Jun 24, 2023 · 17 comments
Labels
Stale No recent activity

Comments

@wilkis3
Copy link

wilkis3 commented Jun 24, 2023

Describe the bug
On the web the pad is empty and the time slider shows also empty pads. All the pad and revisions are still in the postgres database. But I can export the pad.

To Reproduce
Steps to reproduce the behavior:

  1. Open the link of the pad
  2. Use the current version or use the time slider

Expected behavior

  • It is empty. No text is in there.
  • The time slider know there revision numbers but can't display anything
  • The date/time of any revision is the same

Screenshots
Screenshot from 2023-06-24 07-16-09

Screenshot from 2023-06-24 07-16-22

Server (please complete the following information):

  • Etherpad version: 1.9.0
  • OS: Ubuntu 20.04
  • Node.js version (node --version): v16.20.0
  • npm version (npm --version): 8.19.4
  • Is the server free of plugins: No
    • ep_align
    • ep_author_hover
    • ep_comments_page
    • ep_font_color
    • ep_headings2
    • ep_prompt_for_name

Additional context

  • I can export the etherpad e.g. .etherpad. The file have a size of 190 MB and I working to upload it now.
  • File socket connection between NGINX and Etherpad
  • File socket connection between Postgres and Etherpad
@JohnMcLear
Copy link
Member

JohnMcLear commented Jun 24, 2023

On very large pads I remember a bug w/ timeslider where it wouldn't load because it was too much effort to load all prior history/revisions etc. My thought is that it's related to that..

Do you get any errors on server console or in browser console? F12

#5271 and #5214

@wilkis3
Copy link
Author

wilkis3 commented Jun 25, 2023

If I open the pad with being in the time slider I get the following error:

Uncaught ReferenceError: require is not defined
    <anonymous> https://pad.domain.example/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define&v=9f2c609e:1
[ace2_inner.js:1:1](https://pad.domain.example/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define&v=9f2c609e)
    <anonym> https://pad.domain.example/javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define&v=9f2c609e:1

If I open the time slider, I get the following error/warning:

Unexpected error: could not translate element content for key timeslider.toolbar.returnbutton 
<a class="grouped-right" data-l10n-id="timeslider.toolbar.returnbutton">

@wilkis3
Copy link
Author

wilkis3 commented Jun 25, 2023

We have an other pad with ~50.000 revisions and it can be open easily. That happens very often that a pad have so many revisions.

@wilkis3
Copy link
Author

wilkis3 commented Jun 25, 2023

I updated the Etherpad server from 1.8.18 to 1.9.0 one day before we get the report that this pad is broken.

@wilkis3
Copy link
Author

wilkis3 commented Jun 25, 2023

DEBUG logs from server console:

  1. It do all the things with createAuthorIfNotExistsFor, mapper2author, mapper2group, createGroupIfNotExistsFor, createSession, session, group2sessions, author2sessions.
  2. GET request
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.115] [DEBUG] http - 200, GET /p/g.GROUPID%24PAD_NAME
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.222] [INFO] Minify - Compress JS file js/basic_error_handler.js.
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.228] [INFO] Minify - Compress CSS file css/pad.css.
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.230] [DEBUG] http - 200, GET /static/js/basic_error_handler.js?v=6a749d6b
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.231] [INFO] Minify - Compress CSS file skins/colibris/pad.css.
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.234] [DEBUG] http - 304, GET /static/plugins/ep_comments_page/static/css/main.css
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.239] [DEBUG] http - 304, GET /static/plugins/ep_comments_page/static/css/comment.css
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.252] [DEBUG] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/pad.js?callback=require.define&v=6a749d6b
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.252] [DEBUG] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/ace2_common.js?callback=require.define&v=6a749d6b
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.262] [DEBUG] http - 304, GET /static/plugins/ep_comments_page/static/js/jquery.tmpl.min.js
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.263] [DEBUG] http - 200, GET /static/img/brand.svg
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.294] [DEBUG] http - 200, GET /static/skins/colibris/pad.css?v=6a749d6b
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.294] [INFO] Minify - Compress JS file js/require-kernel.js.
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.297] [DEBUG] http - 200, GET /static/css/pad.css?v=6a749d6b
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.298] [INFO] Minify - Compress JS file skins/colibris/pad.js.
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.300] [DEBUG] http - 200, GET /static/skins/colibris/pad.js?v=6a749d6b
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.358] [DEBUG] http - 200, GET /static/js/require-kernel.js?v=6a749d6b
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.639] [DEBUG] http - 304, GET /static/font/Roboto-Regular.ttf
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.639] [DEBUG] http - 304, GET /static/font/Quicksand-Medium.ttf
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.642] [DEBUG] http - 304, GET /static/font/Quicksand-Bold.ttf
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.856] [DEBUG] http - 304, GET /static/font/fontawesome-etherpad.woff?2
Jun 25 21:34:08 host run.sh[2912775]: [2023-06-25 21:34:08.892] [DEBUG] http - 200, GET /pluginfw/plugin-definitions.json?v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.070] [DEBUG] http - 200, GET /javascripts/lib/ep_prompt_for_name/static/js/index.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.109] [DEBUG] http - 200, GET /javascripts/lib/ep_headings2/static/js/index.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.152] [DEBUG] http - 200, GET /javascripts/lib/ep_headings2/static/js/shared.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.198] [DEBUG] http - 200, GET /javascripts/lib/ep_font_color/static/js/index.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.250] [DEBUG] http - 200, GET /javascripts/lib/ep_font_color/static/js/shared.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.301] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/index.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.353] [DEBUG] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/browser.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.405] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/commentBoxes.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.456] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/commentIcons.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.504] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/commentL10n.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.554] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/copyPasteEvents.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.599] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/shared.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.643] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/moment-with-locales.min.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.884] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/newComment.js?callback=require.define&v=6a749d6b
Jun 25 21:34:09 host run.sh[2912775]: [2023-06-25 21:34:09.927] [DEBUG] http - 200, GET /javascripts/lib/ep_comments_page/static/js/preCommentMark.js?callback=require.define&v=6a749d6b
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.014] [DEBUG] http - 200, GET /javascripts/lib/ep_author_hover/static/js/index.js?callback=require.define&v=6a749d6b
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.057] [DEBUG] http - 200, GET /javascripts/lib/ep_align/static/js/index.js?callback=require.define&v=6a749d6b
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.103] [DEBUG] http - 200, GET /javascripts/lib/ep_align/static/js/shared.js?callback=require.define&v=6a749d6b
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.229] [DEBUG] socket.io - Xwl8nyN46ToSAAqzAAAG connected from IP ANONYMOUS
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.342] [DEBUG] socket.io - from Xwl8nyN46ToSAAqzAAAG: {
Jun 25 21:34:10 host run.sh[2912775]:   component: 'pad',
Jun 25 21:34:10 host run.sh[2912775]:   type: 'CLIENT_READY',
Jun 25 21:34:10 host run.sh[2912775]:   padId: 'g.GROUPID%24PAD_NAME',
Jun 25 21:34:10 host run.sh[2912775]:   sessionID: 's.5092c3ba80542e09e99c324553821224',
Jun 25 21:34:10 host run.sh[2912775]:   token: 't.heGO0XL9TiOrrfMeLRlu',
Jun 25 21:34:10 host run.sh[2912775]:   userInfo: { colorId: null, name: null }
Jun 25 21:34:10 host run.sh[2912775]: }
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.347] [DEBUG] ueberDB - GET    - pad2readonly:g.GROUPID%24PAD_NAME - "r.76542154117acedc056aafb2a6edea08" - from database
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.347] [DEBUG] ueberDB - GET    - pad:g.GROUPID%24PAD_NAME - {<CONTEXT REMOVED> - from cache
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.347] [DEBUG] ueberDB - GET    - session:s.5092c3ba80542e09e99c324553821224 - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.347] [DEBUG] ueberDB - GET    - globalAuthor:a.KZeMbZCAwsje1xnN - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.348] [DEBUG] ueberDB - GET    - pad:g.GROUPID%24PAD_NAME:revs:107402 - <CONTEXT REMOVED> - from database
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.348] [DEBUG] ueberDB - GETSUB - pad:g.GROUPID%24PAD_NAME:revs:107402["meta","timestamp"] - 1687673095060
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.348] [DEBUG] ueberDB - GET    - globalAuthor:a.yhZGeN8euHwxpW6J - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.348] [DEBUG] ueberDB - GET    - globalAuthor:a.K865BmHyrvvEE2r6 - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.348] [DEBUG] ueberDB - GET    - globalAuthor:a.KZeMbZCAwsje1xnN - <CONTEXT REMOVED> - from cache
  1. globalAuthor stuff
Jun 25 21:34:10 host run.sh[2912775]: [2023-06-25 21:34:10.365] [INFO] access - [ENTER] pad:g.uInKPGsMRVLwN6UI$2020_08_protokoll socket:Xwl8nyN46ToSAAqzAAAG IP:ANONYMOUS authorID:a.KZeMbZCAwsje1xnN
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.365] [DEBUG] socket.io - to Xwl8nyN46ToSAAqzAAAG: {"type":"CLIENT_VARS","data":{"skinName":"colibris","skinVariants":"super-light-toolbar super-light-editor light-background","randomVersionString":"6a749d6b","accountPrivs":{"maxRevisions":100},"automaticReconnectionTimeout":0,"initialRevisionList":[],"initialOptions":{},"savedRevisions":[],"collab_client_vars":{"initialAttributedText":{"text":"\n\n\n\n\n\n","attribs":"|3+3*0|2+2|1+1"},"clientIp":"127.0.0.1","padId":"g.GROUP_ID$PAD_NAME","historicalAuthorData": <CONTEXT REMOVED> ,"nextNum":1},"rev":107402,"time":1687673095060},"colorPalette":["#ffc7c7","#fff1c7","#e3ffc7","#c7ffd5","#c7ffff","#c7d5ff","#e3c7ff","#ffc7f1","#ffa8a8","#ffe699","#cfff9e","#99ffb3","#a3ffff","#99b3ff","#cc99ff","#ff99e5","#e7b1b1","#e9dcAf","#cde9af","#bfedcc","#b1e7e7","#c3cdee","#d2b8ea","#eec3e6","#e9cece","#e7e0ca","#d3e5c7","#bce1c5","#c1e2e2","#c1c9e2","#cfc1e2","#e0bdd9","#baded3","#a0f8eb","#b1e7e0","#c3c8e4","#cec5e2","#b1d5e7","#cda8f0","#f0f0a8","#f2f2a6","#f5a8eb","#c5f9a9","#ececbb","#e7c4bc","#daf0b2","#b0a0fd","#bce2e7","#cce2bb","#ec9afe","#edabbd","#aeaeea","#c4e7b1","#d722bb","#f3a5e7","#ffa8a8","#d8c0c5","#eaaedd","#adc6eb","#bedad1","#dee9af","#e9afc2","#f8d2a0","#b3b3e6"],"clientIp":"127.0.0.1","userColor":"#e204cb","padId":"g.GROUP_ID$PAD_NAME","padOptions":{"noColors":false,"showControls":true,"showChat":true,"showLineNumbers":true,"useMonospaceFont":false,"userName":null,"userColor":null,"rtl":false,"alwaysShowChat":false,"chatAndUsers":false,"lang":null},"padShortcutEnabled":{"altF9":true,"altC":true,"delete":true,"cmdShift2":true,"return":true,"esc":true,"cmdS":true,"tab":true,"cmdZ":true,"cmdY":true,"cmdB":true,"cmdI":true,"cmdU":true,"cmd5":true,"cmdShiftL":true,"cmdShiftN":true,"cmdShift1":true,"cmdShiftC":true,"cmdH":true,"ctrlHome":true,"pageUp":true,"pageDown":true},"initialTitle":"Pad: g.GROUP_ID$PAD_NAME","opts":{},"chatHead":2,"numConnectedUsers":0,"readOnlyId":"r.76542154117acedc056aafb2a6edea08","readonly":false,"serverTimestamp":1687721650365,"sessionRefreshInterval":86400000,"userId":"a.KZeMbZCAwsje1xnN","abiwordAvailable":"yes","sofficeAvailable":"no","exportAvailable":"yes","plugins":{"plugins":{"ep_align":{"parts":[{"name":"main","client_hooks":{"aceEditEvent":"ep_align/static/js/index","postToolbarInit":"ep_align/static/js/index","aceDomLineProcessLineAttributes":"ep_align/static/js/index","postAceInit":"ep_align/static/js/index","aceInitialized":"ep_align/static/js/index","aceAttribsToClasses":"ep_align/static/js/index","collectContentPre":"ep_align/static/js/shared","aceRegisterBlockElements":"ep_align/static/js/index"},"hooks":{"eejsBlock_editbarMenuLeft":"ep_align/index","collectContentPre":"ep_align/static/js/shared","collectContentPost":"ep_align/static/js/shared","padInitToolbar":"ep_align/index","getLineHTMLForExport":"ep_align/index"},"plugin":"ep_align","full_name":"ep_align/main"}],"package":{"author":{"name":"John McLear","email":"john@mclear.co.uk"},"license":"Apache2","bugs":{"url":"https://github.com/ether/ep_align/issues"},"description":"Etherpad plugin to set left, center, right, or full justification for a paragraph","homepage":"https://github.com/ether/ep_align#readme","keywords":["etherpad","plugin","ep"],"name":"ep_align","repository":{"type":"git","url":"git+https://github.com/ether/ep_align.git"},"version":"0.3.53","funding":{"type":"individual","url":"https://etherpad.org/"},"devDependencies":{"eslint":"^8.11.0","eslint-config-etherpad":"^3.0.9","typescript":"^4.6.2"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix ."},"engines":{"node":">=12.17.0"},"peerDependencies":{"ep_etherpad-lite":">=1.8.6"},"readme":"![Publish Status](https://github.com/ether/ep_align/workflows/Node.js%20Package/badge.svg) ![Publish Status](https://github.com/ether/ep_align/workflows/Node.js%20Package/badge.svg)\n\n![Screenshot](https://user-images.githubusercontent.com/220864/107214131-5c3dd600-6a01-11eb-82d9-b2d67ec8ae93.png)\r\n\r\n# What is this?\r\nAn Etherpad Plugin to apply Text Alignment in a pad.  Currently supports:\r\n\r\n* Left\r\n* Center\r\n* Justify\r\n* Right\r\n\r\n# Export support\r\nExperimental.  As attributes are line by line on Etherpad some weirdness may be experienced.\r\n\r\n# History\r\nI decided to copy/pasta the ep_headings2 plugin over ep_align to fix a load of issues.\r\n\r\n# License\r\nApache 2\r\n\r\n# Development\r\nDevelopment done for free to help support continued learning due to distruption by the corona virus.  26LLC supported.\r\n","readmeFilename":"README.md","_id":"ep_align@0.3.53","optionalDependencies":{},"_dependencies":{},"path":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_align","error":"[Circular]","extraneous":false,"realPath":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_align"}},"ep_author_hover":{"parts":[{"name":"ep_author_hover","hooks":{"eejsBlock_mySettings":"ep_author_hover/index"},"client_hooks":{"postAceInit":"ep_author_hover/static/js/index"},"plugin":"ep_author_hover","full_name":"ep_author_hover/ep_author_hover"}],"package":{"author":{"name":"John McLear","email":"john@mclear.co.uk","url":"http://mclear.co.uk"},"name":"ep_author_hover","description":"Adds author names to span titles (shows on hover), works as authors change their name.  Hover includes author color and fast switching between author spans.  Hat tip to Martyn York for the initial work on this.","version":"0.3.37","repository":{"type":"git","url":"git+ssh://git@github.com/JohnMcLear/ep_author_hover.git"},"funding":{"type":"individual","url":"https://etherpad.org/"},"devDependencies":{"eslint":"^8.11.0","eslint-config-etherpad":"^3.0.9","typescript":"^4.6.2"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix ."},"engines":{"node":">=12.17.0"},"peerDependencies":{"ep_etherpad-lite":">=1.8.6"},"readme":"![Publish Status](https://github.com/ether/ep_author_hover/workflows/Node.js%20Package/badge.svg) ![Backend Tests Status](https://github.com/ether/ep_author_hover/workflows/Backend%20tests/badge.svg)\n\n\n# Show Author Name on hover\n\nHover over an author to see their name\n\n# Other functionality\n\nShows the author color on hover\nSupports fast switching between hovers (Doesn't depend on native browser support)\n\n# Settings\n## Disable/enable author hover locally in your browser\nThis plugin adds a new switch called _Show Author on Hover_ to the settings menu. This allows you to disable/enable the display of author names on hover in your browser.\n\n## Disable author hover by default for all clients\nTo don't show the author names on hover by default (the user has to activate in manually), add the following to your `setting.json`:\n```json\n  // disable author hover by default\n  \"ep_author_hover\": {\n    \"disabledByDefault\": true\n  }\n```\n\n# Why did I rewrite this?\nI don't really like plugins that depdend on manipulating the ACE inner DOM, rewriting this plugin and using events meant I could still have hover functionality without the risk of running into nasty ACE issues down the line.  It also meant that as new authors joined and updated their name I could update hte hovers in real time.  Previous attempts at writing this plugin have required a browser refresh to know who authors are, that wasn't good enough for me.\n\n# TODO\n\n* use JQTip\n* Your ideas here..\n* Test in IE\n* Settings for font size/background color switch\n* Your sponsorship here..\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/JohnMcLear/ep_author_hover/issues"},"homepage":"https://github.com/JohnMcLear/ep_author_hover#readme","_id":"ep_author_hover@0.3.37","optionalDependencies":{},"_dependencies":{},"path":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_author_hover","error":"[Circular]","extraneous":false,"realPath":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_author_hover"}},"ep_comments_page":{"parts":[{"name":"comments_page","pre":["ep_etherpad-lite/webaccess","ep_page_view/page_view"],"post":["ep_etherpad-lite/static"],"client_hooks":{"postToolbarInit":"ep_comments_page/static/js/index","postAceInit":"ep_comments_page/static/js/index","collectContentPre":"ep_comments_page/static/js/shared","aceAttribsToClasses":"ep_comments_page/static/js/index","aceEditorCSS":"ep_comments_page/static/js/index","aceEditEvent":"ep_comments_page/static/js/index","aceInitialized":"ep_comments_page/static/js/index"},"hooks":{"padInitToolbar":"ep_comments_page/index","padRemove":"ep_comments_page/index","padCopy":"ep_comments_page/index","socketio":"ep_comments_page/index","expressCreateServer":"ep_comments_page/index","collectContentPre":"ep_comments_page/static/js/shared","eejsBlock_editbarMenuLeft":"ep_comments_page/index","eejsBlock_scripts":"ep_comments_page/index","eejsBlock_mySettings":"ep_comments_page/index","eejsBlock_styles":"ep_comments_page/index","clientVars":"ep_comments_page/index","exportHtmlAdditionalTagsWithData":"ep_comments_page/exportHTML","getLineHTMLForExport":"ep_comments_page/exportHTML","exportEtherpadAdditionalContent":"ep_comments_page/index","exportHTMLAdditionalContent":"ep_comments_page/exportHTML","handleMessageSecurity":"ep_comments_page/index"},"plugin":"ep_comments_page","full_name":"ep_comments_page/comments_page"}],"package":{"description":"Adds comments on sidebar and link it to the text.  For no-skin use ep_page_view.","name":"ep_comments_page","version":"1.0.5","author":{"name":"Nicolas Lescop","email":"limplementeur@gmail.com"},"license":"Apache-2.0","contributors":[{"name":"Nicolas Lescop","email":"limplementeur@gmail.com"},{"name":"John McLear","email":"john@mclear.co.uk"},{"name":"Luiza Pagliari","email":"lpagliari@gmail.com"}],"devDependencies":{"eslint":"^8.11.0","eslint-config-etherpad":"^3.0.9","socket.io-client":"^2.3.0","superagent":"^7.1.1","typescript":"^4.6.2"},"scripts":{"lint":"eslint<<< .","lint:fix":"eslint --fix ."},"engines":{"node":">=12.17.0"},"peerDependencies":{"ep_etherpad-lite":">=1.8.6"},"repository":{"type":"git","url":"git+https://github.com/ether/ep_comments.git"},"funding":{"type":"individual","url":"https://etherpad.org/"},"readme":"![Publish Status](https://github.com/ether/ep_comments_page/workflows/Node.js%20Package/badge.svg) ![Backend Tests Status](https://github.com/ether/ep_comments_page/workflows/Backend%20tests/badge.svg)\n\n# Comments and annotations for Etherpad\n\n![Screen shot](https://user-images.githubusercontent.com/220864/98013526-617ff900-1df2-11eb-88b6-cf259372f6ca.PNG)\n\n## Installing this plugin with npm.\n```\nnpm install ep_comments_page\n```\n\n## Extra settings\nThis plugin has some extra features that can be enabled by changing values on `settings.json` of your Etherpad instance.\n\n### Alternative comment display\nThere is an alternative way to display comments. Instead of having all comments visible on the right of the page, you can have just an icon on the right margin of the page. Comment details are displayed when user clicks on the comment icon:\n\n![Screen shot](http://i.imgur.com/cEo7PdL.png)\n\nTo use this way of displaying comments, add the following to your `settings.json`:\n```\n// Display comments as icons, not boxes\n\"ep_comments_page\": {\n  \"displayCommentAsIcon\": true\n},\n```\n\n### Highlight selected text when creating a comment\nIt is also possible to mark the text originally selected when user adds a comment:\n![Screen shot](http://i.imgur.com/AhaVgRZ.png)\n\nTo enable this feature, add the following code to your `settings.json`:\n```\n// Highlight selected text when adding comment\n\"ep_comments_page\": {\n  \"highlightSelectedText\": true\n},\n```\n\n**Warning**: there is a side effect when you enable this feature: a revision is created everytime the text is highlighted, resulting on apparently \"empty\" changes when you check your pad on the timeslider. If that is an issue for you, we don't recommend you to use this feature.\n\n### Disable HTML export\nBy default comments are exported to HTML, but if you don't wish to do that then you can disable it by adding the following to your `settings.json`:\n```\n\"ep_comments_page\": {\n  \"exportHtml\": false\n},\n```\n\n## Creating comment via API\nIf you need to add comments to a pad:\n\n* Call this route to create the comments on Etherpad and get the comment ids:\n  ```\n  curl -X POST http://localhost:9001/p/THE_PAD_ID/comments -d \"apikey=YOUR_API_KEY\" -d 'data=[{\"name\":\"AUTHOR\",\"text\":\"COMMENT\"}, {\"name\":\"ANOTHER_AUTHOR\",\"text\":\"ANOTHER_COMMENT\"}]'\n  ```\n\n  The response will be:\n  ```\n  {\"code\":0,\"commentIds\":[\"c-VEtzKolgD5krJOVU\",\"c-B8MEmAT0NJ9usUwc\"]}\n  ```\n\n* Use the returned comment ids to set the pad HTML [via API](http://etherpad.org/doc/v1.5.6/#index_sethtml_padid_html):\n  ```\n  My comment goes <span class=\"comment c-VEtzKolgD5krJOVU\">here<span>.\n  ```\n\n  Result:\n  ![Screen shot](http://i.imgur.com/KM4lPJx.png)\n\nNOTE: Adding a comment to a pad via API will make the other editors with that pad to be alerted, but this feature is only active if your Etherpad is run in `loadTest` mode. Read [the Etherpad Guide](https://github.com/ether/etherpad-lite/wiki/Load-Testing-Etherpad) for how to enable load testing.\n\n## License\nApache 2\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ether/ep_comments/issues"},"homepage":"https://github.com/ether/ep_comments#readme","_id":"ep_comments_page@1.0.5","optionalDependencies":{},"_dependencies":{"cheerio":"^0.22.0","formidable":"^2.0.1","underscore":"^1.13.2"},"path":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_comments_page","error":"[Circular]","extraneous":false,"realPath":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_comments_page"}},"ep_etherpad-lite":{"parts":[{"name":"DB","hooks":{"shutdown":"ep_etherpad-lite/node/db/DB"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/DB"},{"name":"Minify","hooks":{"shutdown":"ep_etherpad-lite/node/utils/Minify"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/Minify"},{"name":"express","hooks":{"createServer":"ep_etherpad-lite/node/hooks/express","restartServer":"ep_etherpad-lite/node/hooks/express","shutdown":"ep_etherpad-lite/node/hooks/express"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/express"},{"name":"static","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/static"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/static"},{"name":"stats","hooks":{"shutdown":"ep_etherpad-lite/node/stats"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/stats"},{"name":"i18n","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/i18n"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/i18n"},{"name":"specialpages","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/specialpages","expressPreSession":"ep_etherpad-lite/node/hooks/express/specialpages"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/specialpages"},{"name":"padurlsanitize","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padurlsanitize"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padurlsanitize"},{"name":"apicalls","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/apicalls"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/apicalls"},{"name":"importexport","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/importexport"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/importexport"},{"name":"errorhandling","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/errorhandling"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/errorhandling"},{"name":"socketio","hooks":{"expressCloseServer":"ep_etherpad-lite/node/hooks/express/socketio","expressCreateServer":"ep_etherpad-lite/node/hooks/express/socketio","socketio":"ep_etherpad-lite/node/handler/PadMessageHandler"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/socketio"},{"name":"tests","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/tests"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/tests"},{"name":"admin","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/admin"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/admin"},{"name":"adminplugins","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminplugins","socketio":"ep_etherpad-lite/node/hooks/express/adminplugins"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminplugins"},{"name":"adminsettings","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminsettings","socketio":"ep_etherpad-lite/node/hooks/express/adminsettings"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminsettings"},{"name":"openapi","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/openapi"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/openapi"}],"package":{"name":"ep_etherpad-lite","description":"A free and open source realtime collaborative editor","homepage":"https://etherpad.org","keywords":["etherpad","realtime","collaborative","editor"],"author":{"name":"Etherpad Foundation"},"contributors":[{"name":"John McLear"},{"name":"Antonio Muci"},{"name":"Hans Pinckaers"},{"name":"Robin Buse"},{"name":"Marcel Klehr"},{"name":"Peter Martischka"}],"bin":{"etherpad":"node/server.js","etherpad-healthcheck":"bin/etherpad-healthcheck","etherpad-lite":"node/server.js"},"devDependencies":{"eslint":"^8.14.0","eslint-config-etherpad":"^3.0.13","etherpad-cli-client":"^2.0.1","mocha":"^9.2.2","mocha-froth":"^0.2.10","nodeify":"^1.0.1","openapi-schema-validation":"^0.4.2","selenium-webdriver":"^4.1.1","set-cookie-parser":"^2.4.8","sinon":"^13.0.2","split-grid":"^1.0.11","supertest":"^6.2.4","typescript":"^4.6.4"},"engines":{"node":">=14.15.0","npm":">=6.14.0"},"repository":{"type":"git","url":"git+https://github.com/ether/etherpad-lite.git"},"scripts":{"lint":"eslint .","test":"mocha --timeout 120000 --recursive tests/backend/specs ../node_modules/ep_*/static/tests/backend/specs","test-container":"mocha --timeout 5000 tests/container/specs/api"},"version":"1.9.0","license":"Apache-2.0","readme":"Ignore this file and see the file in the base installation folder\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/ether/etherpad-lite/issues"},"_id":"ep_etherpad-lite@1.9.0","optionalDependencies":{},"_dependencies":{"async":"^3.2.2","clean-css":"^5.3.0","cookie-parser":"^1.4.6","cross-spawn":"^7.0.3","ejs":"^3.1.7","etherpad-require-kernel":"^1.0.15","etherpad-yajsml":"0.0.12","express":"4.18.2","express-rate-limit":"^6.4.0","express-session":"npm:@etherpad/express-session@^1.18.1","fast-deep-equal":"^3.1.3","find-root":"1.1.0","formidable":"^2.1.2","http-errors":"^2.0.0","js-cookie":"^3.0.1","jsdom":"^19.0.0","jsonminify":"0.4.2","languages4translatewiki":"0.1.3","lodash.clonedeep":"4.5.0","log4js":"0.6.38","measured-core":"^2.0.0","mime-types":"^2.1.35","npm":"^6.14.15","openapi-backend":"^5.3.0","proxy-addr":"^2.0.7","rate-limiter-flexible":"^2.4.1","rehype":"^12.0.1","rehype-minify-whitespace":"^5.0.1","request":"2.88.2","resolve":"1.22.0","security":"1.0.0","semver":"^7.3.7","socket.io":"^2.4.1","superagent":"^8.0.9","terser":"^5.16.5","threads":"^1.7.0","tinycon":"0.6.8","ueberdb2":"^2.2.4","underscore":"1.13.3","unorm":"1.6.0","wtfnode":"^0.9.1"},"path":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_etherpad-lite","error":"[Circular]","extraneous":false,"link":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/src","realPath":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/src"}},"ep_font_color":{"parts":[{"name":"main","client_hooks":{"postAceInit":"ep_font_color/static/js/index","aceInitialized":"ep_font_color/static/js/index","aceEditEvent":"ep_font_color/static/js/index","aceEditorCSS":"ep_font_color/static/js/index","aceCreateDomLine":"ep_font_color/static/js/index","postToolbarInit":"ep_font_color/static/js/index","aceAttribsToClasses":"ep_font_color/static/js/index","collectContentPre":"ep_font_color/static/js/shared"},"hooks":{"eejsBlock_editbarMenuLeft":"ep_font_color/index","collectContentPre":"ep_font_color/static/js/shared","collectContentPost":"ep_font_color/static/js/shared","exportHtmlAdditionalTagsWithData":"ep_font_color/exportHTML","stylesForExport":"ep_font_color/exportHTML","getLineHTMLForExport":"ep_font_color/exportHTML","eejsBlock_dd_format":"ep_font_color/index","padInitToolbar":"ep_font_color/index"},"plugin":"ep_font_color","full_name":"ep_font_color/main"}],"package":{"description":"Apply colors to fonts","name":"ep_font_color","version":"0.0.63","license":"Apache-2.0","author":{"name":"John McLear","email":"john@mclear.co.uk"},"engines":{"node":">=12.17.0"},"repository":{"type":"git","url":"git+https://github.com/JohnMcLear/ep_font_color.git"},"funding":{"type":"individual","url":"https://etherpad.org/"},"devDependencies":{"eslint":"^8.11.0","eslint-config-etherpad":"^3.0.9","typescript":"^4.6.2"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix ."},"peerDependencies":{"ep_etherpad-lite":">=1.8.6"},"readme":"![Publish Status](https://github.com/ether/ep_font_color/workflows/Node.js%20Package/badge.svg) ![Backend Tests Status](https://github.com/ether/ep_font_color/workflows/Backend%20tests/badge.svg)\n\n# Etherpad plugin to change font color\nIf you want to reposition the color select in toolbar then in `settings.json` under `toolbar` add button `fontColor` example:\n```\n\"toolbar\": {\n    \"left\": [\n      [\n        \"fontColor\",\n        \"bold\",\n        \"italic\",\n        \"underline\",\n        \"strikethrough\"\n      ]\n}\n```","readmeFilename":"README.md","bugs":{"url":"https://github.com/JohnMcLear/ep_font_color/issues"},"homepage":"https://github.com/JohnMcLear/ep_font_color#readme","_id":"ep_font_color@0.0.63","optionalDependencies":{},"_dependencies":{},"path":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_font_color","error":"[Circular]","extraneous":false,"realPath":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_font_color"}},"ep_headings2":{"parts":[{"name":"main","client_hooks":{"aceEditorCSS":"ep_headings2/static/js/index","aceEditEvent":"ep_headings2/static/js/index","aceDomLineProcessLineAttributes":"ep_headings2/static/js/index","postAceInit":"ep_headings2/static/js/index","aceInitialized":"ep_headings2/static/js/index","aceAttribsToClasses":"ep_headings2/static/js/index","collectContentPre":"ep_headings2/static/js/shared","aceRegisterBlockElements":"ep_headings2/static/js/index"},"hooks":{"eejsBlock_editbarMenuLeft":"ep_headings2/index","collectContentPre":"ep_headings2/static/js/shared","collectContentPost":"ep_headings2/static/js/shared","getLineHTMLForExport":"ep_headings2/index","stylesForExport":"ep_headings2/index"},"plugin":"ep_headings2","full_name":"ep_headings2/main"}],"package":{"description":"Adds heading support to Etherpad Lite.  Includes improved suppot for export, i18n etc.","name":"ep_headings2","version":"0.2.44","author":{"name":"John McLear","email":"john@mclear.co.uk"},"contributors":[{"name":"Matthias Bartelmeß","email":"mba@fourplusone.de"},{"name":"John McLear","email":"john@mclear.co.uk"},{"name":"Gedion Woldeselassie","email":"gwy321@gmail.com","url":"https://github.com/gedion"}],"keywords":["ep","etherpad","plugin"],"engines":{"node":">=12.17.0"},"homepage":"https://github.com/ether/ep_headings2#readme","bugs":{"url":"https://github.com/ether/ep_headings2/issues"},"devDependencies":{"eslint":"^8.11.0","eslint-config-etherpad":"^3.0.9","typescript":"^4.6.2"},"peerDependencies":{"ep_etherpad-lite":">=1.8.6"},"repository":{"type":"git","url":"git+https://github.com/ether/ep_headings2.git"},"funding":{"type":"individual","url":"https://etherpad.org/"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix ."},"readme":"![Publish Status](https://github.com/ether/ep_headings2/workflows/Node.js%20Package/badge.svg) ![Publish Status](https://github.com/ether/ep_headings2/workflows/Node.js%20Package/badge.svg)\n# Section headings for Etherpad\n\nAn Etherpad Plugin to apply h1 etc. headings to a pad.\n\n![Screenshot](screenshot.png)\n\n## Features\n\n- [x] Test coverage\n- [x] Linted\n- [x] i18n (translations)\n- [x] Import/export support\n- [x] Copy/paste support\n- [x] Shows active Heading\n- [x] Maintained by the Etherpad Foundation\n\n## Copyright and License\n\nCopyright the ep_headings2 authors and contributors.\n\nLicensed under the [Apache License, Version 2.0](LICENSE) (the \"License\"); you\nmay not use this file except in compliance with the License. You may obtain a\ncopy of the License at\n\nhttp://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed\nunder the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\nCONDITIONS OF ANY KIND, either express or implied. See the License for the\nspecific language governing permissions and limitations under the License.\n","readmeFilename":"README.md","_id":"ep_headings2@0.2.44","optionalDependencies":{},"_dependencies":{},"path":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_headings2","error":"[Circular]","extraneous":false,"realPath":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_headings2"}},"ep_prompt_for_name":{"parts":[{"name":"prompt_for_name","client_hooks":{"aceInitialized":"ep_prompt_for_name/static/js/index"},"plugin":"ep_prompt_for_name","full_name":"ep_prompt_for_name/prompt_for_name"}],"package":{"name":"ep_prompt_for_name","description":"Prompt an author for their name 5 seconds after they type","version":"1.0.20","author":{"name":"johnyma22","email":"john@mclear.co.uk","url":"John McLear"},"engines":{"node":">=12.17.0"},"repository":{"type":"git","url":"git+https://github.com/JohnMcLear/ep_prompt_for_name.git"},"funding":{"type":"individual","url":"https://etherpad.org/"},"devDependencies":{"eslint":"^8.11.0","eslint-config-etherpad":"^3.0.9","typescript":"^4.6.2"},"scripts":{"lint":"eslint .","lint:fix":"eslint --fix ."},"peerDependencies":{"ep_etherpad-lite":">=1.8.6"},"readme":"![Publish Status](https://github.com/ether/ep_prompt_for_name/workflows/Node.js%20Package/badge.svg) ![Backend Tests Status](https://github.com/ether/ep_prompt_for_name/workflows/Backend%20tests/badge.svg)\n\n# Prompts user to insert their name 5 seconds after they start typing\n\nOnly shows if user hasn't already set their name.\n\nTakes 5 seconds to show up.\n\nTimer starts once user starts writing.\n\nUseful for pads and instances with lots of transient users.\n\n## Installation\nInstall using ``/admin/plugins`` or ``npm install ep_prompt_for_name``\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/JohnMcLear/ep_prompt_for_name/issues"},"homepage":"https://github.com/JohnMcLear/ep_prompt_for_name#readme","_id":"ep_prompt_for_name@1.0.20","optionalDependencies":{},"_dependencies":{},"path":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_prompt_for_name","error":"[Circular]","extraneous":false,"realPath":"/srv/etherpad/pad.domain.example/etherpad-lite-1.9.0/node_modules/ep_prompt_for_name"}}},"parts":[{"name":"prompt_for_name","client_hooks":{"aceInitialized":"ep_prompt_for_name/static/js/index"},"plugin":"ep_prompt_for_name","full_name":"ep_prompt_for_name/prompt_for_name"},{"name":"main","client_hooks":{"aceEditorCSS":"ep_headings2/static/js/index","aceEditEvent":"ep_headings2/static/js/index","aceDomLineProcessLineAttributes":"ep_headings2/static/js/index","postAceInit":"ep_headings2/static/js/index","aceInitialized":"ep_headings2/static/js/index","aceAttribsToClasses":"ep_headings2/static/js/index","collectContentPre":"ep_headings2/static/js/shared","aceRegisterBlockElements":"ep_headings2/static/js/index"},"hooks":{"eejsBlock_editbarMenuLeft":"ep_headings2/index","collectContentPre":"ep_headings2/static/js/shared","collectContentPost":"ep_headings2/static/js/shared","getLineHTMLForExport":"ep_headings2/index","stylesForExport":"ep_headings2/index"},"plugin":"ep_headings2","full_name":"ep_headings2/main"},{"name":"main","client_hooks":{"postAceInit":"ep_font_color/static/js/index","aceInitialized":"ep_font_color/static/js/index","aceEditEvent":"ep_font_color/static/js/index","aceEditorCSS":"ep_font_color/static/js/index","aceCreateDomLine":"ep_font_color/static/js/index","postToolbarInit":"ep_font_color/static/js/index","aceAttribsToClasses":"ep_font_color/static/js/index","collectContentPre":"ep_font_color/static/js/shared"},"hooks":{"eejsBlock_editbarMenuLeft":"ep_font_color/index","collectContentPre":"ep_font_color/static/js/shared","collectContentPost":"ep_font_color/static/js/shared","exportHtmlAdditionalTagsWithData":"ep_font_color/exportHTML","stylesForExport":"ep_font_color/exportHTML","getLineHTMLForExport":"ep_font_color/exportHTML","eejsBlock_dd_format":"ep_font_color/index","padInitToolbar":"ep_font_color/index"},"plugin":"ep_font_color","full_name":"ep_font_color/main"},{"name":"openapi","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/openapi"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/openapi"},{"name":"adminsettings","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminsettings","socketio":"ep_etherpad-lite/node/hooks/express/adminsettings"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminsettings"},{"name":"adminplugins","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/adminplugins","socketio":"ep_etherpad-lite/node/hooks/express/adminplugins"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/adminplugins"},{"name":"admin","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/admin"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/admin"},{"name":"tests","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/tests"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/tests"},{"name":"socketio","hooks":{"expressCloseServer":"ep_etherpad-lite/node/hooks/express/socketio","expressCreateServer":"ep_etherpad-lite/node/hooks/express/socketio","socketio":"ep_etherpad-lite/node/handler/PadMessageHandler"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/socketio"},{"name":"errorhandling","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/errorhandling"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/errorhandling"},{"name":"importexport","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/importexport"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/importexport"},{"name":"apicalls","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/apicalls"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/apicalls"},{"name":"padurlsanitize","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/padurlsanitize"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/padurlsanitize"},{"name":"specialpages","hooks":{"expressCreateServer":"ep_etherpad-lite/node/hooks/express/specialpages","expressPreSession":"ep_etherpad-lite/node/hooks/express/specialpages"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/specialpages"},{"name":"i18n","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/i18n"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/i18n"},{"name":"stats","hooks":{"shutdown":"ep_etherpad-lite/node/stats"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/stats"},{"name":"express","hooks":{"createServer":"ep_etherpad-lite/node/hooks/express","restartServer":"ep_etherpad-lite/node/hooks/express","shutdown":"ep_etherpad-lite/node/hooks/express"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/express"},{"name":"Minify","hooks":{"shutdown":"ep_etherpad-lite/node/utils/Minify"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/Minify"},{"name":"DB","hooks":{"shutdown":"ep_etherpad-lite/node/db/DB"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/DB"},{"name":"comments_page","pre":["ep_etherpad-lite/webaccess","ep_page_view/page_view"],"post":["ep_etherpad-lite/static"],"client_hooks":{"postToolbarInit":"ep_comments_page/static/js/index","postAceInit":"ep_comments_page/static/js/index","collectContentPre":"ep_comments_page/static/js/shared","aceAttribsToClasses":"ep_comments_page/static/js/index","aceEditorCSS":"ep_comments_page/static/js/index","aceEditEvent":"ep_comments_page/static/js/index","aceInitialized":"ep_comments_page/static/js/index"},"hooks":{"padInitToolbar":"ep_comments_page/index","padRemove":"ep_comments_page/index","padCopy":"ep_comments_page/index","socketio":"ep_comments_page/index","expressCreateServer":"ep_comments_page/index","collectContentPre":"ep_comments_page/static/js/shared","eejsBlock_editbarMenuLeft":"ep_comments_page/index","eejsBlock_scripts":"ep_comments_page/index","eejsBlock_mySettings":"ep_comments_page/index","eejsBlock_styles":"ep_comments_page/index","clientVars":"ep_comments_page/index","exportHtmlAdditionalTagsWithData":"ep_comments_page/exportHTML","getLineHTMLForExport":"ep_comments_page/exportHTML","exportEtherpadAdditionalContent":"ep_comments_page/index","exportHTMLAdditionalContent":"ep_comments_page/exportHTML","handleMessageSecurity":"ep_comments_page/index"},"plugin":"ep_comments_page","full_name":"ep_comments_page/comments_page"},{"name":"static","hooks":{"expressPreSession":"ep_etherpad-lite/node/hooks/express/static"},"plugin":"ep_etherpad-lite","full_name":"ep_etherpad-lite/static"},{"name":"ep_author_hover","hooks":{"eejsBlock_mySettings":"ep_author_hover/index"},"client_hooks":{"postAceInit":"ep_author_hover/static/js/index"},"plugin":"ep_author_hover","full_name":"ep_author_hover/ep_author_hover"},{"name":"main","client_hooks":{"aceEditEvent":"ep_align/static/js/index","postToolbarInit":"ep_align/static/js/index","aceDomLineProcessLineAttributes":"ep_align/static/js/index","postAceInit":"ep_align/static/js/index","aceInitialized":"ep_align/static/js/index","aceAttribsToClasses":"ep_align/static/js/index","collectContentPre":"ep_align/static/js/shared","aceRegisterBlockElements":"ep_align/static/js/index"},"hooks":{"eejsBlock_editbarMenuLeft":"ep_align/index","collectContentPre":"ep_align/static/js/shared","collectContentPost":"ep_align/static/js/shared","padInitToolbar":"ep_align/index","getLineHTMLForExport":"ep_align/index"},"plugin":"ep_align","full_name":"ep_align/main"}]},"indentationOnNewLine":true,"scrollWhenFocusLineIsOutOfViewport":{"percentage":{"editionAboveViewport":0,"editionBelowViewport":0},"duration":0,"scrollWhenCaretIsInTheLastLineOfViewport":false,"percentageToScrollWhenUserPressesArrowUp":0},"initialChangesets":[],"userName":"Marvin","displayCommentAsIcon":false,"highlightSelectedText":false}}
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.366] [DEBUG] socket.io - to Xwl8nyN46ToSAAqzAAAG: {"type":"COLLABROOM","data":{"type":"USER_NEWINFO","userInfo":{<CONTEXT REMOVED>}}}
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.447] [DEBUG] socket.io - from Xwl8nyN46ToSAAqzAAAG: {
Jun 25 21:34:10 wechange run.sh[2912775]:   type: 'COLLABROOM',
Jun 25 21:34:10 wechange run.sh[2912775]:   component: 'pad',
Jun 25 21:34:10 wechange run.sh[2912775]:   data: { type: 'GET_CHAT_MESSAGES', start: 0, end: 2 }
Jun 25 21:34:10 wechange run.sh[2912775]: }
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.448] [DEBUG] ueberDB - GET    - pad:g.GROUP_ID$PAD_NAME - {"atext":{"text":"\n\n\n\n\n\n","attribs":"|3+3*2k|2+2|1+1"},"pool":{<CONTEXT REMOVED>},"nextNum":93},"head":107402,"chatHead":2,"publicStatus":false,"savedRevisions":[],"passwordHash":null} - from cache
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.448] [DEBUG] ueberDB - GET    - session:s.5092b3ba60542e09e99c3275538213334 - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.449] [DEBUG] ueberDB - GET    - pad:g.GROUP_ID$PAD_NAME:chat:0 - <CONTEXT REMOVED> - from database
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GET    - globalAuthor:a.<CONTEXT REMOVED> - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GETSUB - globalAuthor:a.<CONTEXT REMOVED>["name"] - <CONTEXT REMOVED>
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GET    - pad:g.GROUP_ID$PAD_NAME:chat:1 - <CONTEXT REMOVED> - from database
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GET    - globalAuthor:a.<CONTEXT REMOVED> - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GETSUB - globalAuthor:a.<CONTEXT REMOVED>["name"] - "<CONTEXT REMOVED>"
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GET    - pad:g.GROUP_ID$PAD_NAME:chat:2 - <CONTEXT REMOVED> - from database
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GET    - globalAuthor:a.<CONTEXT REMOVED> - <CONTEXT REMOVED> - from cache
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] ueberDB - GETSUB - globalAuthor:a.<CONTEXT REMOVED>["name"] - <CONTEXT REMOVED>
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.450] [DEBUG] socket.io - to Xwl8nyN46ToSAAqzAAAG: <CONTEXT REMOVED>
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.451] [DEBUG] http - 304, GET /static/empty.html
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.605] [INFO] Minify - Compress CSS file css/iframe_editor.css.
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.610] [DEBUG] http - 304, GET /static/plugins/ep_headings2/static/css/editor.css
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.611] [DEBUG] http - 304, GET /static/plugins/ep_font_color/static/css/color.css
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.616] [DEBUG] http - 304, GET /static/plugins/ep_comments_page/static/css/commentIcon.css
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.626] [DEBUG] http - 200, GET /static/css/iframe_editor.css?v=6a749d6b
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.686] [DEBUG] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define&v=6a749d6b
Jun 25 21:34:10 wechange run.sh[2912775]: [2023-06-25 21:34:10.727] [DEBUG] http - 200, GET /javascripts/lib/ep_etherpad-lite/static/js/ace2_inner.js?callback=require.define&v=6a749d6b
Jun 25 21:34:11 wechange run.sh[2912775]: [2023-06-25 21:34:11.152] [DEBUG] http - 304, GET /static/font/RobotoMono-Regular.ttf
Jun 25 21:34:11 wechange run.sh[2912775]: [2023-06-25 21:34:11.221] [DEBUG] http - 200, GET /
Jun 25 21:34:11 wechange run.sh[2912775]: [2023-06-25 21:34:11.364] [DEBUG] ueberDB - GET    - pad2readonly:g.GROUP_ID$PAD_NAME - "r.76542154117acedc056aafb2a6edea08" - from cache
Jun 25 21:34:11 wechange run.sh[2912775]: [2023-06-25 21:34:11.364] [DEBUG] ueberDB - GET    - comments:g.GROUP_ID$PAD_NAME - null - from cache
Jun 25 21:34:11 wechange run.sh[2912775]: [2023-06-25 21:34:11.377] [DEBUG] ueberDB - GET    - pad2readonly:g.GROUP_ID$PAD_NAME - "r.76542154117acedc056aafb2a6edea08" - from cache
Jun 25 21:34:11 wechange run.sh[2912775]: [2023-06-25 21:34:11.377] [DEBUG] ueberDB - GET    - comment-replies:g.GROUP_ID$PAD_NAME - null - from database

@wilkis3
Copy link
Author

wilkis3 commented Jun 25, 2023

Sometimes the pad loads the authors at the time slider.

@JohnMcLear
Copy link
Member

Any chance you can dump the .etherpad file using the export function?

@wilkis3
Copy link
Author

wilkis3 commented Jun 26, 2023

Any chance you can dump the .etherpad file using the export function?

Yes, it takes a few minutes for the download to start.

@webzwo0i
Copy link
Member

btw log looks sane and the require error is benign. Etherpad has problems with the timeslider - known issue but it should display the pad in editor (and it should be editable of course)

Completely other idea: Did you try clearing the cache, e.g. open browser console->network tab->select "disable cache" and reload the pad?

@wilkis3
Copy link
Author

wilkis3 commented Jun 28, 2023

Completely other idea: Did you try clearing the cache, e.g. open browser console->network tab->select "disable cache" and reload the pad?

Yes, I did it and a few users (I didn't know them, may they have different browser and OS) too.

@wilkis3
Copy link
Author

wilkis3 commented Jul 11, 2023

The problem still exist with 1.9.1.

@JohnMcLear
Copy link
Member

@wilkis3 if you reimport the .etherpad file into a new Pad does it work then?

Alternatively dump the .etherpad file somewhere that we can grab and debug.

@SamTV12345
Copy link
Member

@wilkis3 Any update on this one?

@SamTV12345
Copy link
Member

@wilkis3 1.9.2 didn't change anything?

@github-actions github-actions bot added the Stale No recent activity label Nov 1, 2023
@SamTV12345
Copy link
Member

Describe the bug On the web the pad is empty and the time slider shows also empty pads. All the pad and revisions are still in the postgres database. But I can export the pad.

To Reproduce Steps to reproduce the behavior:

  1. Open the link of the pad
  2. Use the current version or use the time slider

Expected behavior

  • It is empty. No text is in there.
  • The time slider know there revision numbers but can't display anything
  • The date/time of any revision is the same

Screenshots Screenshot from 2023-06-24 07-16-09

Screenshot from 2023-06-24 07-16-22

Server (please complete the following information):

  • Etherpad version: 1.9.0

  • OS: Ubuntu 20.04

  • Node.js version (node --version): v16.20.0

  • npm version (npm --version): 8.19.4

  • Is the server free of plugins: No

    • ep_align
    • ep_author_hover
    • ep_comments_page
    • ep_font_color
    • ep_headings2
    • ep_prompt_for_name

Additional context

  • I can export the etherpad e.g. .etherpad. The file have a size of 190 MB and I working to upload it now.
  • File socket connection between NGINX and Etherpad
  • File socket connection between Postgres and Etherpad

Found the issue. The maxTransportSize is too low. You can increase it safely to 100 kB or 1MB. Beyond that is not recommended as you can then DOS the server with large fragments

@wilkis3
Copy link
Author

wilkis3 commented Oct 16, 2024

Found the issue. The maxTransportSize is too low. You can increase it safely to 100 kB or 1MB. Beyond that is not recommended as you can then DOS the server with large fragments

Thank you @SamTV12345 . I will try it.

@SamTV12345
Copy link
Member

Let me know if it worked :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Stale No recent activity
Projects
None yet
Development

No branches or pull requests

4 participants