Commit graph

1434 commits

Author SHA1 Message Date
John McLear
3872690715
ace2_inner: remove Chrome specific hack
This code was specific for older Chrome versions. It can be simplified now.

Fixes #3487
2020-04-07 03:47:46 +02:00
Chocobozzz
0889a1313d referer: do not send referrer when opening a link
This change augments what was already done in 54e0f2de5b (PR with discussion
at #3636).

For documentation about the meaning of "noopener, noreferrer", see:
https://developer.mozilla.org/en-US/docs/Web/API/Window/open#Window_functionality_features
2020-03-31 10:02:46 +02:00
John McLear
dbab4ad13a dont pass empty author info to edit 2020-04-02 23:29:03 +01:00
Daniel Krol
3e8b426847 ui: initialize color picker with the user's color
Initialize the color picker with user's current color.
Was previously initialized with grey in Farbtastic library.

Fixes #3617
2020-04-01 02:34:56 +02:00
John McLear
25bf460ac6 chat: in addMessage(), be tolerant when userId is missing
For whatever reason (a bug, a database corruption, ...) the userId field in
"msg" can sometimes be missing.

In this case, let's be defensive, use "unknown" as userId and issue a warning
in the console, instead of crashing the client.

Fixes #3731 (really a patch, the underlying issue is still present)
2020-03-30 22:15:51 +02:00
John McLear
85217b55e0 contentcollector: pasting an OL in Chrome inserted an additional line break. Fixed.
This comments out some code that was probably a quirk from ie6 era.
See PR: https://github.com/ether/etherpad-lite/issues/2412

Fixes #2412.
2020-03-30 02:28:08 +02:00
Neil Oosten
7a999ee398 hooks: allow to set the duration of the gritter notification when a new chat message arrives
This is done adding a new "duration" parameter to the chatNewMessage() client
side hook.
2020-03-27 02:39:29 +01:00
John McLear
6fd2bf4472 hooks: introduce goToRevisionEvent(), a new client-side hook
This hook gets fired both on timeslider load (as timeslider shows a new
revision) and when the new revision is showed to a user.
2020-03-24 23:46:17 +01:00
muxator
40d3d400a1 fonts: remove the execution bit from the font files
Monsterrat was added in 8bd8be97b9
Roboto Mono was added in 7029248a76
2020-03-22 00:33:22 +01:00
muxator
840b4a0988 contentcollector: backed out changeset 3292429ab3
That commit (merged recently with PR #3622) was part of an effort to fix #3620,
but introduced a very bad bug that broke the cursor behaviour when pressing
space, making the program unusable.

This commit completes the revert of PR #3622 and fixes #3728.

--HG--
branch : revert-3622
2020-03-19 02:53:41 +01:00
Sebastian Castro
0d61d6bb13 ui: on mobile, move the right toolbar to the bottom and make the top toolbar scrollable
Before this change there was always a single toolbar on the top, with both
Colibris and the legacy skin. When the screen size was reduced:

- the legacy skin would compact the icons in the toolbar (this was fine,
  indeed);
- Colibris would hide some formatting icons. This would hamper the functionality
  for mobile users.

After this change both the skins work in the same way, which is the following:
- when the screen gets smaller the right toolbar (the one with "export",
  "timeslider", and other buttons) goes to the bottom of the screen;
- when there are many icons, the toolbar keeps all of them, and to see them the
  user must drag the toolbar.

This behaviour will probably be changed before release, opting instead to show
a "+" button when there is an overflow, since this appears to be more
discoverable (see the discusison in #3697).

Do not tested with custom toolbar elements (toolbar.left and toolbar.right
configuration items in settings.json).

Fixes #3697.
2020-03-12 18:47:12 +01:00
Tom Briles
3292429ab3 trim text entries upon import. Fixes: #3620 2020-03-15 11:35:08 +00:00
Sebastian Castro
6d4ea36646 skin colibris: Fix table of content with ep_resizable_bar 2020-01-03 15:35:12 -03:00
ahmadine
0a0b90c4d0 referer: change referrer policy. Stop sending referers as much as possible
Pull request with discussion: https://github.com/ether/etherpad-lite/pull/3636

What's already there:
* `meta name=referrer`: already done in 1.6.1:
  https://github.com/ether/etherpad-lite/pull/3044

  https://caniuse.com/#feat=referrer-policy
  https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-delivery-meta
  (Chrome>=78, Firefox>=70, Safari>=13, Opera>=64, ~IE[1], ~Edge[1])

The previous two commits (by @joelpurra) I backported in this batch:
* `<a rel=noreferrer>`: a pull request denied before:
  https://github.com/ether/etherpad-lite/pull/2498

  https://html.spec.whatwg.org/multipage/links.html#link-type-noreferrer
  https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types
  (Firefox>=37, I can't find more info about support)

This commit adds the following:
* `<a rel="noopener">`: fixing a not-so-well-known way to extract referer
  https://html.spec.whatwg.org/multipage/links.html#link-type-noopener
  (Chrome>=49, Firefox>=52, Safari>=10.1, Opera>=36, !IE, !Edge)

* `Referrer-Policy: same-origin`: the last bastion of referrer security
  https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referrer-Policy
  (Chrome>=61, Firefox>=52, Safari>=11.1, Opera>=48, !IE, !Edge)

meta name=referrer wasn't enough. I happened to leak a few referrers with my
Firefox browser, though for some browsers it could have been enough.

[1] IE>=11, Edge>=18 use a different syntax for meta name=referrer, making it
    most probably incompatible (but I may be wrong on that, they may support
    both, but I have no way to test it currently). The next Edge release will be
    based on Chromium, so for that the Chrome version applies.
2019-11-25 00:05:40 +01:00
Joel Purra
f314460b7c referer: HTML5 browsers no longer leak pad through HTTP referer header
Added `rel="noreferrer"` to automatically generated links in the main pad window
as well as the chat window.

`rel="noreferrer"` is part of the HTML5 standard. While browser support isn't
100%, it's better than nothing. Future alternative solutions with wider browser
support, such as intermediary redirect pages, are unaffected by this change.

https://html.spec.whatwg.org/multipage/links.html#link-type-noreferrer

This commit was originally part of https://github.com/ether/etherpad-lite/pull/2498
2019-11-25 00:05:40 +01:00
muxator
312c72c364 formatting: bulk remove trailing whitespaces
Do not touch vendorized files (e.g. libraries that were imported from external
projects).

No functional changes.

Command:
    find . -name '*.<EXTENSION>' -type f -print0 | xargs -0 sed -i 's/[[:space:]]*$//'
2019-10-20 02:09:22 +02:00
muxator
24abd9ca07 formatting: dos2unix on admin.css
In preparation for next commit. I was not able to find other non-vendorized
files that were in DOS format and legitimately needed to be converted.

No functional changes.
2019-10-20 02:50:01 +02:00
muxator
5eb60cef01 jQuery: update vendored version (1.9.1 -> 1.12.4)
The vendored jquery version was 1.9.1 from 2013-02-04. Let's replace it with the
most recent one from the 1.x branch (1.12.4 from 2016-05-20).

The modification in rjquery.js is needed because recent jQuery versions changed
their behaviour, and do not set themselves on the global window object.
See: https://github.com/parcel-bundler/parcel/issues/333#issuecomment-357882648

This will be the lastest jQuery 1.x version ever, because 1.x branch is
definitively EOLed (see https://github.com/jquery/jquery.com/issues/162).

This is a stopgap measure to get the latest security fixes. Going forward,
another strategy will be needed.

Closes #3640
2019-09-16 22:55:53 +02:00
cupcakearmy
d88726b58d colibris: the "ok" button was misaligned in Chrome
When visiting Etherpad's home page with Chrome the "ok" button was not on the
same line as the pad name text box. On Firefox & Safari there was no problem.
Tested on Chrome 74.

Fixes #3604.
2019-05-10 09:50:25 +02:00
Tristram Gräbener
357780d573 Display the version in the web interface
In the settings drop-down this adds an “About” section that also shows
the commit if "exposeVersion" is set to true.

Fixes #2968
2019-04-15 23:17:34 +00:00
Tristram Gräbener
8453f07205 Chat bubble: by default hide in CSS
The current behaviour is to show the chat bubble and hide if chat is
disabled.

Because of this, the bubble appears wrongfully for a short time.

With this PR, by default it is hidden and displayed only if chat is
enabled.

Fixes: #3088
2019-04-15 23:14:47 +00:00
muxator
dc7e49f89d Remove trailing whitespaces
Hoping to minimize future diffs. Not touching vendorized libraries.
2019-04-16 00:34:29 +02:00
Ray Bellis
0c2d662541 plugins download and search: converted to Promises
Also fixed a bug where the system would make a request to the central server for
the plugin list for every search even if the list was already cached.
2019-01-23 12:24:53 +00:00
Ray Bellis
a579dfc285 pluginfw/installer.js: use Promise version of hooks.aCallAll() in install(), uninstall()
We cannot use arrow functions in this file, because code in /src/static can end
up being loaded in browsers, and we still support IE11.
2019-01-18 16:10:48 +00:00
Ray Bellis
80b3019154 pluginfw/plugins.js: converted to Promise API 2019-01-18 13:52:37 +00:00
Ray Bellis
8d85ae582e pluginfw/hooks.js: allow returning a Promise in aCallFirst(), aCallAll()
Since this code can end up loaded in browsers when using client side plugins,
avoid use of ES6 syntax features such as arrow functions until MSIE support is
finally dropped.
2019-01-18 13:49:17 +00:00
muxator
9497ee734f prepare to async: trivial reformatting
This change is only cosmetic. Its aim is do make it easier to understand the
async changes that are going to be merged later on. It was extracted from the
original work from Ray Bellis.

To verify that nothing has changed, you can run the following command on each
file touched by this commit:
  npm install uglify-es
  diff --unified <(uglify-js --beautify bracketize <BEFORE.js>) <(uglify-js --beautify bracketize <AFTER.js>)



This is a complete script that does the same automatically (works from a
mercurial clone):

```bash
#!/usr/bin/env bash

set -eu

REVISION=<THIS_REVISION>

PARENT_REV=$(hg identify --rev "${REVISION}" --template '{p1rev}')
FILE_LIST=$(hg status --no-status --change ${REVISION})
UGLIFYJS="node_modules/uglify-es/bin/uglifyjs"

for FILE_NAME in ${FILE_LIST[@]}; do
  echo "Checking ${FILE_NAME}"
  diff --unified \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${PARENT_REV}" "${FILE_NAME}")) \
    <("${UGLIFYJS}" --beautify bracketize <(hg cat --rev "${REVISION}"   "${FILE_NAME}"))
done
```
2019-02-08 23:20:57 +01:00
muxator
b34fc2de2b use Date.now() instead of new Date().getTime()
This is documented to be more performant.

The substitution was made on frontend code, too (i.e., the one in /static),
because Date.now() is supported since IE 9, and we are life supporting only
IE 11.

Commands:
  find . -name *.js | xargs sed --in-place "s/new Date().getTime()/Date.now()/g"
  find . -name *.js | xargs sed --in-place "s/(new Date()).getTime()/Date.now()/g"

Not done on jQuery.
2019-02-26 23:25:15 +01:00
Sebastian Castro
9848a600e3 colibris: Fixes #3548 #3549 chat improvements 2019-02-22 19:48:46 +01:00
Sebastian Castro
378dbe8485 skins: Improve clientPluginNames class helper
Moving classes to html tag so it can be used to style other part of template depending on plugins like #users, #chat etc...
Rename plugin class with "plugin-" prefix, because there were conflicts with some plugins using the same .ep_font_color class to apply css rules
2019-02-22 19:48:46 +01:00
Sebastian Castro
401db8fce3 chat: Adds placeholder to input. Translate stick button 2019-02-22 19:48:08 +01:00
muxator
0ad8291ae7 hooks: restore Internet Explorer 11 compatibility.
Compatibility with IE11 regressed in 23eab79946 while working for #3488.
That commit made use of modern js syntax, not supported by IE11.

- Removed arrow functions, replaced with normal functions.
- Removed the spread operator (<...iterable>) and the "new Set()" construct,
  replaced with _.uniq()

At some point IE11 compatibility will be dropped.
Ditching it now, for such a small gain, is not wise.

Fixes #3500.
2018-11-28 20:03:39 +01:00
Sebastian Castro
fc629e49d9 skins:colibris fixes #3514 hide sidediv and "show line number" option on mobile 2018-11-28 15:01:12 +01:00
Sebastian Castro
2ce195747b skins: Fixes #3510 show/hide line numbers 2018-11-15 11:34:32 +01:00
Sebastian Castro
4c7ae65ac4 colibris: use a darker default font and do not use OpenDyslexic 2018-11-08 21:56:41 +01:00
Sebastian Castro
385ca8771b colibris: various improvements, including author_hover, cursortrace plugins 2018-11-08 21:56:40 +01:00
Sebastian Castro
39ad22f78f colibris: style timeslider page 2018-11-08 21:56:39 +01:00
Sebastian Castro
8343afde84 colibris: move ep_embedded_hyperlinks style to plugin itself 2018-11-08 21:56:38 +01:00
Sebastian Castro
948e9e4e10 colibris: responsive layout depending on plugins activated 2018-11-08 21:56:30 +01:00
Sebastian Castro
413f46b085 colibris: minor improvements 2018-11-08 21:56:29 +01:00
Sebastian Castro
e8c229cc65 colibris: add style for ep_embedded_hyperlink plugin 2018-11-08 21:56:29 +01:00
Sebastian Castro
9205b551df colibris: fix plugin ep_comments style 2018-11-08 21:56:28 +01:00
Sebastian Castro
af641c3b3d colibris: minor improvements 2018-11-08 21:56:27 +01:00
Sebastian Castro
8881a2a61f colibris: style plugin ep_tables2 2018-11-08 21:56:26 +01:00
Sebastian Castro
24b46984d4 colibris: Style ep_set_title_on_pad 2018-11-08 21:56:18 +01:00
Sebastian Castro
dad6c217ef colibris: improvements 2018-11-08 21:56:17 +01:00
Sebastian Castro
3f761121b2 colibris: improve colibris responsive 2018-11-08 21:56:15 +01:00
Sebastian Castro
6cc499bcce colibris: add new skin, initial commit
Needs further development: responsive, plugins, configuration...
2018-11-08 21:56:14 +01:00
Sebastian Castro
d3d1fd21bb fonts: add pencil, link and table icon
Preparatory work for introducing colibris skin
2018-11-08 21:56:13 +01:00
Sebastian Castro
e80f9a6f59 pad.css: group togheter three very similar rules.
a) these rules:
  [class^="icon-"]:before
  [class*=" icon-"]:before

b) were the same as this one:
  [data-icon]:before

except the rules in b) had a "content: attr(data-icon)" rule, too.

This commit groups all of them together, and gets rid of the "attr(data-icon)".

The commit that introduced these rules in the first place, and that are now
partially reverted, was 9aea689438 (move tiny bit
of font awesome we actually use into pad.css) from 2014-11-19.

Preparatory work for introducing colibris skin
2018-11-08 21:56:11 +01:00
Sebastian Castro
63ec2d8cc2 font picker: improve the font picker (closes #3451)
Preparatory work for introducing colibris skin
2018-11-08 21:56:10 +01:00
Sebastian Castro
23eb1701ed ace2_inner: fix first line number position
Preparatory work for introducing colibris skin
2018-11-08 21:55:58 +01:00
Sebastian Castro
4115f792e4 ace.js: prioritize the skin style over the plugin style
Preparatory work for introducing colibris skin
2018-11-08 21:55:34 +01:00
Sebastian Castro
8a6eae26d7 ace.js: also add plugins names to #outerdocbody (refs #3488)
This commit is an integration to aa8204e5df
2018-11-08 21:55:07 +01:00
muxator
23eab79946 pad.html: for each client plugin, add a class to #editorcontainerbox
This commit implements the following behaviour:

1. adds a function clientPluginNames() to hooks.js (mimicking what is done in
   static.js), which returns an array containing the list of currently installed
   client side plugins. The array is eventually empty.

2. calls that function in pad.html at rendering time (thus server-side) to
   populate a class attribute.

Example results:
- with no client-side plugins installed:
  <div id="editorcontainerbox" class="">

- with some client-side plugins installed:
  <div id="editorcontainerbox" class="ep_author_neat ep_adminpads">

Looking at the existing code (src/node/hooks/express/static.js#L39-L57), a
client-side plugin is defined as a plugin that implements at least a client side
hook.

NOTE: there is currently no support for notifying plugin removal/installation
      to the connected clients: for now, in order to get an updated class list,
      the clients will have to refresh the page.

Fixes #3488
2018-10-02 21:22:13 +02:00
muxator
36f39a6e13 ace.js: remove template literals to keep IE 11 compatibility
Files in "src/static" are executed on the client: do not break browser
compatibility because of syntactic sugar.

Introduced in 9c990ab08a.
2018-08-27 02:18:34 +02:00
muxator
9c990ab08a skins: finalize support for multiple skins
The old "static/custom" directory is replaced by "static/skins/<skinName>",
where <skinName> is taken from settings.json.
When no value is found, a default of "no-skin" is assumed, so that backward
compatibility is maintained.

The most evident security concerns have been addressed.

Closes #3471.
2018-08-26 21:17:04 +02:00
muxator
aba1c6f8bd skins: moved "static/custom" -> "static/skins/no-skin"
The old empty skin created by the startup scripts becomes the default: no-skin.
2018-08-26 21:17:04 +02:00
muxator
0c518cadf5 skins: replace {js,css}.template with actual files. Simplify startup scripts.
Currently, an Etherpad skin requires the existence of 6 files:
- index.{css,js}
- pad.{css,js}
- timeslider.{css,js}

In the default empty skin (in static/custom), there were 2 small placeholders
({js,css}.template) to be copied in place by the startup script in case no skin
was in use.

Now that we are moving to multiple directories (see #3471) we can simply commit
the example files and remove the copying code from the startup script.
2018-08-26 21:17:04 +02:00
muxator
6c56e7ca7a ace.js: use URL encoding when building an URL via string concatenation
Not performing encoding/decoding when traversing logical domains is a security
risk.
String concatenation is not great, too, but this change is just focused on
allowing the implementation of skin support.
2018-08-26 02:40:36 +02:00
Dan Bornstein
2a876e5e9b Ensure that all lines in the pad are marked with class ace-line.
Without this change, lines that haven't ever been edited will have either
an empty class or, in the case of list start lines, a class that begins
with a space (because the `ace-line` before the space never got added).
2016-09-13 01:17:04 +02:00
Luiza Pagliari
58c3154769
[fix] Ignore default line attribs when detecting edges of changeset (#3420)
When comparing original content with the changes made by the user, we
need to ignore some line attribs that are added by content collector,
otherwise we would consider the change started on the first char of the
line -- the '*' that is added when line has line attribs.

In order to be able to handle both #3354 and #3118, we need to take into
account both the styles attribs (to fix #3354) and the line attribs
defined by any of the plugins (to fix #3118), but we can ignore those
extra line attribs that are added by Etherpad and do not add any
functionality (`'lmkr', 'insertorder', 'start'`).
2018-07-09 17:44:38 -03:00
Mantary
2be873e3c7 Use keydown instead of keypress on Firefox. 2018-07-01 12:05:46 +02:00
anugu-chegg
7b6a4aba30 Remove leftover code from earlier commits 2018-04-19 23:23:16 +02:00
anugu-chegg
b4068144c3 Refactor code 2018-04-19 23:23:16 +02:00
anugu-chegg
461ed413b7 Fix few mistakes 2018-04-19 23:23:16 +02:00
anugu-chegg
d41e184a3c Send commits missed during the reconnect 2018-04-19 23:23:16 +02:00
anugu-chegg
bf05e9ae89 Handle client reconnect properly 2018-04-19 23:23:16 +02:00
anugu-chegg
4265f4175e Handle socketio errors properly 2018-04-19 23:23:16 +02:00
anugu-chegg
fb20c26c5f Don't send COMMIT-MESSAGE when socketio connection is not active 2018-04-19 23:23:16 +02:00
Benjamin Schweizer
d26df86490 made url relative 2018-04-19 22:55:40 +02:00
muxator
9daade0b95
fix: line numbers was not aligned with text
This change partially reverts 0a9d02562d, which got released in 1.6.4
due to #3280.

Text size and line alignment are now reverted back to their 1.6.3
appearance (thus stay non customizable, for now).

Fixes #3378
2018-04-13 18:32:39 +02:00
nashe
92eee85f36 Escape data when listing available plugins 2018-04-09 22:31:13 +02:00
John McLear
b16e7ad25e
unbreak Safari iOS line wrapping
fixes f5810957b4 (diff-f639eb4efeaabf5624f3229daa1e88cd)
2018-04-07 18:11:24 +01:00
John McLear
fba2bf4df9
Update iframe_editor.css 2018-04-07 17:50:45 +01:00
John McLear
6a38826e9d
Merge pull request #3366 from ether/release/1.6.4
Release/1.6.4
2018-04-07 11:05:31 +01:00
John McLear
86ec963775 Fixes #3137
#3137
2018-04-06 13:52:04 +01:00
John McLear
f15c7d7186
Merge pull request #3280 from lmagniez/ImprovedReadibility
Improved readibility
2018-04-03 17:22:08 +01:00
John McLear
bb83d39ff0
Merge pull request #3197 from User1m/patch-1
fixed plugin dependency issue
2018-04-03 13:13:11 +01:00
John McLear
83ce73b77b
Merge pull request #3134 from psaavedra/develop
WA added  in #1766 is not longer needed
2018-04-03 13:10:19 +01:00
Luc Didry
b0da9a579d Fix numbering line when plugin add padding-top (like ep_page_view) 2018-03-25 19:24:52 +02:00
Robert Helmer
38b1e0a35e better sanitize window location in error messages 2018-01-30 12:51:53 -08:00
Joas Souza
454f539561 Select formatting button on selection (#3301)
[feat] Select button when selection is on formatted text
2018-01-04 12:28:00 -02:00
Joas Souza
f1fcd16894 Add settings to scroll on edition out of viewport (#3282)
* Add scroll when it edits a line out of viewport

By default, when there is an edition of a line, which is out of the
viewport, Etherpad scrolls the minimum necessary to make this line
visible. This makes that the line stays either on the top or the bottom
of the viewport. With this commit, we add a setting to make possible to
scroll to a position x% pixels from the viewport. Besides of that, we
add a setting to make an animation of this scroll.
If nothing is changed on settings.json the Etherpad default behavior is
kept
2018-01-03 19:57:28 -02:00
Loïck Magniez
38cbff11a1 Adapted the padding due to the font-size modification 2017-11-23 16:24:08 +01:00
Loick Magniez
54e834194b Changed the color palette and changed the pad's font size to 16px 2017-11-22 16:04:17 +01:00
Luiza Pagliari
0e1414dcca Allow 'placeholder' to be a localizable attribute on HTML elements (#3257) 2017-09-21 17:49:33 -03:00
Luiza Pagliari
ed5213c9a2 Revert "[feat] Update l10n lib (#3248)" (#3249)
This reverts commit 6bcaa00a4b.
2017-08-15 11:09:56 -03:00
Luiza Pagliari
6bcaa00a4b [feat] Update l10n lib (#3248)
Last update was from 2014.

Fix #3244.
2017-08-15 10:22:59 -03:00
Stefan
f6456c0aa7 Merge pull request #3187 from tiblu/ep_prefs_different_cookie_for_different_protocol
#3179 - Using EP on same domain, but over different protocols causes "Warning: it appears that your browser does not have cookies enabled.
2017-07-30 11:49:29 +02:00
Jan Holub
8bd8be97b9 Added support for the Montserrat Font as discussed in #3201 (#3205)
* Added support for the Montserrat Font as discussed in #3201

I chose a thin version of the Font (namely Montserrat Light) as the regular font and Montserrat Regular as the bold version. The thin fonts just look better in my opinion.
2017-07-12 12:21:48 -03:00
Luiza Pagliari
8c57c8d0d6 Merge pull request #3206 from 00SteinsGate00/RobotoMono
Added RobotoMono as a more modern and pretty monospaced font
2017-07-12 08:02:08 -03:00
Jan Holub
7029248a76 Added RobotoMono as a more modern and pretty monospaced font, addressing #3201
I added RobotoMono-Regular and RobotoMono-Bold as TrueTypeFont files and included them into the list. I tred to stay in alphabetical order where possible.

The author of #3201 was asking for a more modern monospaced font.
2017-06-21 23:44:23 +02:00
Claudius Mbemba
8d60bd5234 fixed plugin dependency issue
running ./bin/run.sh after the 1st time caused the following error "TypeError: Cannot read property 'dependencies' of undefined".
fixed it.
2017-05-30 05:36:29 +02:00
Luiza Pagliari
b6cb46271b Merge pull request #3182 from storytouch/fix/do_not_hide_force_reconnect_modal
Improvements on modals and "force reconnect" messages
2017-05-29 11:05:37 -03:00
Luiza Pagliari
894ebffcaf [fix] Do not close ANY "force reconnect" message
Fix previous commit. As "force reconnect" buttons have all the same id
on DOM, on the previous commit we were only disallowing the first button
with that id on DOM -- "userdup" -- to be closed by a click on editor.
Casually the tests were using the same error to simulate a "force
reconnect", so even the tests were not getting the issue.
2017-05-12 07:03:40 -03:00
Luiza Pagliari
0cb8d31e95 [fix] Have one setting for each shortcut to create ordered list
This is an adjustment to #2891.
2017-05-11 14:56:09 -03:00
Luiza Pagliari
97038c2183 [fix] Fix shortcut enabling flag for 'ESC'
This is an adjustment to #2891.
2017-05-11 12:36:20 -03:00
Luiza Pagliari
cf686282ef Do not use cookie for pad shortcuts
Users still cannot choose which shortcuts they want to enable/disable,
so it does not make sense (yet) to have a cookie with that preference.

This can be reverted once we create an UI to change shortcuts, but
PLEASE PLEASE PLEASE do not read the cookie every time handleKeyEvent is
called!!!

This is an adjustment to #2891.
2017-05-11 12:26:14 -03:00
Luiza Pagliari
1ebcf0dc47 Merge pull request #2891 from bhldev/padShortcutDisable
Added pad shortcut disabling feature to settings.json
2017-05-11 11:29:25 -03:00
Mikk Andresen
c959cdbaa7 Pad_cookie.js to have isCookiesEnabled() cause wasNoCookie() is also true when User visits first time. 2017-05-05 11:17:07 +03:00
Mikk Andresen
582e2c3819 Use padcookie instead of raw prefs cookie reading 2017-05-05 11:07:54 +03:00
Mikk Andresen
7790c5606b Fix regexp 2017-05-05 10:54:26 +03:00
Mikk Andresen
96cc1ad55a Use different cookie name for different protocols - https://github.com/ether/etherpad-lite/issues/3179 2017-05-05 10:28:44 +03:00
Luiza Pagliari
9176bf9bad [fix] Do not close "force reconnect" messages
If a "force reconnect" message is displayed to the user, it means the
only way to go back to a healthy state is to reload the pad. So we
cannot hide this kind of message, like what is done with other modals
(eg: "settings").
2017-05-04 14:34:01 -03:00
Luiza Pagliari
4eec3763b4 [fix] Close modals when user clicks both on pad inner and outer
Also: split tests for automatic reconnection and regular modal tests.
2017-05-04 11:22:18 -03:00
Luiza Pagliari
0bd4169663 [fix] Block user from changing pad after he/she is disconnected
Use same approach of when channel state is chaged to "DISCONNECTED".
2017-05-03 12:59:57 -03:00
Luiza Pagliari
384697f653 [feature] Only automatically reconnect if can establish connection to server
Avoid trying to reload pad when network is not available.
2017-04-05 15:07:37 -03:00
Luiza Pagliari
0eae83f252 [feature] i18n for automatic reconnection messages/buttons 2017-04-04 18:09:33 -03:00
Luiza Pagliari
009cd31243 [feature] Create option to automatically reconnect after a few seconds
On some erros that display a modal with "Force reconnect" button, allow
Etherpad to automatically reload pad after a few seconds. Amount of
seconds is defined on settings.json.

Still need to create tests for this feature, and implement i18n.
2017-04-04 11:09:24 -03:00
Pablo Saavedra
f5810957b4 This WA is not longer required in the newest Chrome see comments in the issue: ether#2078
The hack is still necessary in Firefox 51
2017-02-02 13:53:32 +01:00
Luiza Pagliari
b2d9f57338 [fix] Consider line attribs of plugins when building changesets
When checking the places on text that are identical between content
before and after a changeset, we were considering only the standard
(Etherpad-core) attributes, and not taking into account attributes
created by the plugins. One consequence was that the '*' marker of lines
with line attribs were being kept, even when the new lines have
different line attribs. See #3118 for more details.

Fix #3118.
2017-01-12 12:42:56 -02:00
Stefan
a1ec061017 Merge pull request #3053 from danfuzz/fix-timeslider-lists
Fix timeslider lists / indents, but also make CSS `@import` work
2016-12-20 22:06:31 +01:00
Stefan
8084400e13 Try to init cookies before testing if it exists 2016-12-20 21:57:01 +01:00
Stefan
aefa617797 Merge branch 'develop' into improve_cookies 2016-12-20 21:31:11 +01:00
Stefan
368bbe4836 Merge pull request #3084 from Gared/fix_npm_node7
Updated npm to 4.0.2 and removed recursive searching for ep-plugins
2016-12-20 00:07:26 +01:00
Luiza Pagliari
01d23b1f6a Merge pull request #2929 from xavidotron/develop
Pass through the "item" parameter to registerAceCommand callbacks.
2016-12-13 06:12:26 -02:00
Stefan
39a3bedb7b Updated option parameters for socket.io to work with latest version 2016-11-20 12:27:27 +01:00
Stefan
00c9caf7a3 Updated npm to 4.0.2 and removed recursive searching for ep-plugins 2016-11-20 11:28:17 +01:00
Paul Carver
573b55af8b Correct the spelling of occured to occurred
The correct spelling is occurred. See
http://www.gingersoftware.com/english-online/spelling-book/misspelling/occurred-occured-ocurred
or other dictionary search results.
2016-11-11 12:46:40 -05:00
Dan Bornstein
0a9d02562d Handle relative paths properly, when @importing. 2016-09-09 12:59:02 -07:00
Dan Bornstein
d7940cf8c5 Harmonize list- and indent-related CSS in the pad editor and timeslider.
* Add a new file `lists_and_indents.css` to hold the common CSS.
* Remove the corresponding CSS from `iframe_editor.css`, replacing it with
  an `@import` of the new file.
* Remove the list/indent code from `timeslider.css`, which was _unlike_ the
  corresponding editor CSS code, again replacing it with an `@import` of the
  new file.
2016-09-09 12:33:46 -07:00
Dan Bornstein
a3765d9785 Account for any top margin on the first line.
Without this change, a top margin on any element on the first line of pad
content would throw off the alignment of line numbers. The default stylesheet
doesn't define any elements with top margins, but plugins might. (This is also
explained in a code comment.)

In order to see the problem, add the following clause to `iframe_editor.css`
(before incorporating this commit):

    #innerdocbody > :first-child {
      margin-top: 100px;
    }
2016-08-30 11:19:28 -07:00
Luiza Pagliari
ea562250d9 Perform drag and drop in one changeset, so UNDO works properly. Fix #3041 2016-08-22 18:44:17 -03:00
Luiza Pagliari
c92e3e4b5e Fix #2918. Re-enable editor after user is reconnected to server 2016-07-21 15:23:14 -03:00
Stefan
009b61b338 Make express-session cookie scheme dependent 2016-07-10 12:44:45 +02:00
John McLear
ab4f23aae5 Merge pull request #2970 from xavidotron/url
Remove [ and ] from the regexp used by the URL filter.
2016-06-28 07:28:18 +01:00
John McLear
f09e10b122 Merge pull request #2944 from storytouch/aceRegisterNonScrollableEditEvents
Create hook to register events that won't scroll editor after aceEditEvt
2016-06-20 10:36:53 +01:00
John McLear
b3b17c2190 Merge pull request #2991 from LokeshN/deactivate-settings
Issue #2960 - deactivate settings.json
2016-06-13 14:41:30 +08:00
Stefan
06ff023047 Add secure flag to cookies on client side if pad accessed through https 2016-06-08 21:14:10 +02:00
Stefan
93dae51cda Remove test cookie 2016-06-08 21:12:27 +02:00
LokeshN
a8d5dc0693 Issue #2960 - deactivate settings.json
Deactivate settings.json in Admin dashboard
2016-05-22 21:12:21 +05:30
John McLear
73414df3c7 heh whoops :) 2016-05-20 14:43:01 +01:00
John McLear
a8487dd5dc client Var value for disabling scripts 2016-05-20 14:42:05 +01:00
Xavid
9022877cc6 Remove [ and ] from the regexp used by the URL filter.
These characters are rarely used in URLs, and including them leads to
mislinkifying when editing various formats, such as wiki markup formats that
use [] around links.
2016-05-06 22:04:37 -04:00
Xavid
56b851a46f Pass through the "item" parameter to registerAceCommand callbacks. 2016-05-06 21:58:24 -04:00
John McLear
282b1cdcfe Merge pull request #2940 from ether/extend-getAttributesOnSelection
extend attributesonselection method
2016-04-05 22:30:15 +01:00
Luiza Pagliari
3fb695a7a0 Create hook to register events that won't scroll editor after aceEditEvt 2016-03-30 11:51:18 -03:00
John McLear
6f2e155668 Merge pull request #2898 from rohieb/feature/more-uri-schemes
Highlight and link more URI schemes: about, geo, tel
2016-03-26 22:14:38 +08:00
John McLear
8df8228a36 Merge pull request #2926 from storytouch/addAuthorOnRemoveAttributeOnLine
Update author when removing line attribute from line
2016-03-26 22:11:22 +08:00
John McLear
97b971747f forgot this one 2016-03-26 22:01:26 +08:00
John McLear
4846798528 extend attributesonselection method 2016-03-26 22:00:34 +08:00
Stefan
02551d772c Fix a possible xss attack in iframe link 2016-03-20 16:28:06 +01:00
Luiza Pagliari
9bcf8690c0 Update author when removing line attribute from line
This avoids raising error 'Trying to submit changes as another author in
changeset' when 2 authors change line attributes of the same line. This
fixes issue #2925.
2016-03-15 15:44:00 -03:00
Stefan
6df7ff2d08 Merge pull request #2893 from bhldev/cssFontColors
Css default colors Issue #2853
2016-02-14 14:54:13 +01:00
Roland Hieber
dde4fdfdbd Highlight and link more URI schemes: about, geo, tel 2016-01-30 19:03:42 +01:00
Brian Lim
aaa28640cf CSS Default Font Colors for Issue 2853 2016-01-22 19:42:06 -05:00
Brian Lim
26aeb7b705 Added pad shortcut disabling feature 2016-01-21 07:38:41 -05:00
Brian Lim
49d38522b1 Timeslider Not Translated Issue 2885 2016-01-20 02:30:25 -05:00
Brian Lim
ae033a1e86 Fix for 2844 and 2812 2016-01-18 23:57:40 -05:00
John McLear
f9937343c7 fix drop event on last char 2016-01-17 15:11:54 +00:00
John McLear
935b921c2b more tidy 2016-01-10 14:40:57 +00:00
John McLear
50c6b5ed61 tidy up 2016-01-10 14:39:41 +00:00
John McLear
ef9cf974a2 Merge branch 'develop' of github.com:ether/etherpad-lite into drag-and-drop-between-frames-sandbox 2016-01-10 14:37:44 +00:00
John McLear
f80407c6ff removal 2016-01-08 13:41:52 +00:00
John McLear
ae6110919f removal 2016-01-08 13:39:59 +00:00
John McLear
793b34d17b hrm, removal 2016-01-08 13:39:32 +00:00
John McLear
f16616d23b seems to work 2016-01-08 13:26:46 +00:00
John McLear
dbc777dd13 Merge pull request #2871 from tiblu/pad_userlist_add_usersOnline_fix_bug_in_users
pad_userlist.js: BUGFIX: users() returning duplicates on several calls. FEATURE: usersOnline() returns only online users
2016-01-05 21:15:52 +00:00
Mikk Andresen
ccbcf0ddce Add usersOnline function to pad_userlist, fix a bug where several occurances of current user were pushed to users list. 2016-01-05 18:22:32 +02:00
Mikk Andresen
aab7186486 Fix handleClientMessage_USER_* payloads not containing user info 2015-12-31 14:19:23 +02:00
John McLear
34a46d6318 should be clean enough to push 2015-12-23 14:35:52 +00:00
Chris Birk
313f390e7a remove logging 2015-12-17 21:56:33 -06:00
Chris Birk
7f517eca0b check for soffice before removing export paths 2015-12-17 21:54:04 -06:00
John McLear
bf6e225aa2 include event on paste and drrororororop 2015-12-05 19:06:40 +00:00
John McLear
b3d44b6956 remove con log 2015-12-05 18:51:27 +00:00
John McLear
fa492dc926 ace drop event 2015-12-05 18:50:51 +00:00
John McLear
1a303f06b6 Merge pull request #2850 from tiblu/aceEditorCSS_allow_external_css
aceEditorCSS hook to allow absolute paths to resources to include external CSS
2015-12-02 11:26:38 +00:00
John McLear
f44c444720 Merge pull request #2831 from fcassin/develop
Protect against a null atext value in cloneAText
2015-12-01 17:50:29 +00:00
joassouza
4c8c1f53b5 Update the bowser.js to the new version
With this new version of bowser.js is possible detect the OS as well,
no only the browser as the previous one. It brings support to
new browsers as well.
2015-12-01 11:53:49 -03:00
Mikk Andresen
ad2ea924b5 aceEditorCSS to allow absolute paths to resources to include external CSS 2015-12-01 14:16:44 +02:00
Francois Cassin
2bd698343a Protects against a null atext in cloneAText 2015-11-10 16:21:43 +01:00
John McLear
f774c2584f paste hook and class for editorcontainer 2015-11-06 13:21:25 +00:00
John McLear
c575c8b447 Merge pull request #2820 from storytouch/fix_2818
Fix logic to check if any hook handled ACE key event. Fix #2818
2015-11-02 13:08:30 +00:00
John McLear
2b980653d6 Merge pull request #2822 from storytouch/esc
Allow plugins handle "esc" key event
2015-11-02 13:08:01 +00:00
Luiza Pagliari
478f5788e3 Add callstack to aceSelectionChanged context 2015-10-30 12:13:43 -02:00
joassouza
959de82e2a Allow plugins handle "esc" key event 2015-10-29 14:54:21 -03:00
Luiza Pagliari
c551fe4c1e Fix logic to check if any hook handled ACE key event. Fix #2818
Instead of checking if only the first hook had returned true, we check
all hooks.
2015-10-27 07:44:51 -02:00
John McLear
c337a0585c Merge pull request #2724 from xavidotron/develop
Add a aceSelectionChanged hook to allow plugins to react when the cursor moves
2015-10-22 16:19:07 +01:00
John McLear
08c6e3e29f Merge pull request #2739 from otetard/bugfix/fix_space_removal
Avoid space removal when pasting text from word processor.
2015-10-22 16:18:29 +01:00
John McLear
0d769632df Merge pull request #2748 from CodeMichael/develop
allow /admin to run in a subdirectory
2015-10-22 16:17:10 +01:00
John McLear
50171a4c3c Merge pull request #2805 from storytouch/indentationSetting
Create setting to control if a new line will be indented or not
2015-10-22 16:12:07 +01:00
John McLear
82c7ca4ac3 add classes for bootstrap targeting, pew pew 2015-10-22 01:32:02 +01:00
Luiza Pagliari
5deb06d589 Create setting to control if a new line will be indented or not
Currently pressing ENTER on a line that ends with ':', '[', '(' or '{'
automaticaly indents the new line with 4 spaces. The variable added by
this commit to settings.json allow an Etherpad instance to not have this
behavior.
2015-10-13 18:39:23 -03:00
Luiza Pagliari
77496b357c Merge pull request #2777 from storytouch/fix2772
Fix 2772. Skipping line marker when applying attribs to a range
2015-09-28 15:28:26 -03:00
Stefan
442f2a08f7 Merge pull request #2774 from ether/timeslider-fix
Timeslider: Fix "Return to pad" button
2015-09-16 16:07:37 +02:00
Luiza Pagliari
330d2b079d Fix 2772. Skipping line marker when applying attribs to a range 2015-09-08 11:55:36 -03:00
Stefan
92798f21e8 Merge pull request #2743 from lpagliari/develop
Removing style that makes editor scroll to the top on iOS without any action from the user
2015-09-05 20:53:35 +02:00
Robin Buse
04a26a3e24 Timeslider: Fix "Return to pad" button
Closes #2768
2015-09-03 23:04:40 +02:00
CodeMichael
68e260783c Merge pull request #2 from CodeMichael/patch-1
allow admin to run on a sub-directory
2015-08-07 08:34:31 -05:00
CodeMichael
6f6de64c4a allow /admin to run on a sub-directory 2015-08-07 08:31:08 -05:00
CodeMichael
3b08ea6158 allow admin to run on a sub-directory 2015-08-07 08:30:29 -05:00
Stefan
856fc5975b Fix broken switchToPad method 2015-08-05 18:23:54 +02:00
Luiza Pagliari
0677501d0b Removing style that makes editor scroll to the top on iOS without any action from the user 2015-08-04 07:46:46 -07:00
Olivier Tétard
275a7d31e0 Avoid space removal when pasting text from word processor.
Since bf380eea50, some spaces were removed when pasting text from a word processor (at least using Libre Office). To avoid double space creations and space removal, we only remove line break which are tight to a space character.
2015-07-27 16:38:57 +02:00
Xavid
008d4e653c Add a aceSelectionChanged hook to allow plugins to react when the cursor
location changes.
2015-07-11 11:33:20 -04:00
Luiza Pagliari
67f4ad5887 Fix editbar height for read-only pads 2015-07-07 16:55:19 -03:00
Luiza Pagliari
8a0a1a65b1 Adding missing code to make toolbar be fixed on top/bottom of the screen for iOS devices.
This commit complements 9ccaeb5.
2015-07-07 16:54:11 -03:00
Luiza Pagliari
47c4ca9c29 Fixing chat on bottom of the page for mobile devices 2015-07-03 18:38:46 -03:00
Luiza Pagliari
9ccaeb585b Fixing toolbar on top of the page for mobile devices 2015-07-02 13:03:45 -07:00
Gerhard Großmann
7c0f3a6826 Added Helvetica Neue to the Normal font 2015-07-01 12:13:37 +02:00
Gerhard Großmann
c0f5b92e3d Added CSS fallback fonts
I’m not sure if this is the correct and only place where to change this. I just gave the present fonts some fallbacks (when possible) but didn’t add, remove or merge fonts.
2015-07-01 10:42:33 +02:00
John McLear
90575064a9 aria-labels for everything 2015-06-28 17:14:37 +01:00
Luiza Pagliari
6ed85b8787 Fixing @font-face src path to be able to use font icons on plugins when minify is on.
This is a commit similar to 56ce8e8, which did the same for 'opendyslexic'.
2015-06-24 14:32:10 -03:00
Xavid
778e1e4641 Allow a return keypress in a list on the last line of a pad to create a new
line.
2015-06-19 14:03:22 -04:00
goldquest
32ba48835a if variable not declared, test if null throws error 2015-06-17 18:54:19 +02:00
Luiza Pagliari
1353c093db Add new icon to fontawesome subset: comment 2015-06-10 18:05:24 -03:00
John McLear
5a5d245c06 fix issues with redrawing focus back to input element would lose param selected name 2015-06-08 17:13:46 +01:00
Luiza Pagliari
92aabe12dc Allowing 'value' to be a localizable attribute on HTML elements. 2015-05-25 07:08:24 -03:00
John McLear
0eb8b800cf hide chat if its already open on readonly mode 2015-05-20 01:50:37 +01:00
John McLear
3944a0e79b more read only mode fixes andadd support for handleMessageSecurity hook 2015-05-20 01:05:53 +01:00
John McLear
fe7ab21c84 dont allow chat input or name input on read only pads 2015-05-19 17:52:43 +01:00
John McLear
3b91b46baa always hide connected one second after connected 2015-05-10 11:46:49 +01:00
John McLear
f5ccd3ce6d Merge pull request #2656 from stefanmintert/20150507-innertext-bugfix
Bugfix innerText
2015-05-07 23:09:24 +01:00
John McLear
debca84ebe Merge branch 'develop' of https://github.com/ether/etherpad-lite into fix-dead-keys 2015-05-07 15:56:01 +00:00
John McLear
975bd99064 support for french stuff 2015-05-07 15:55:52 +00:00
Stefan Mintert
250afd0451 Bugfix. Description of bug at https://github.com/tm-linkwerk/ep_linebreak/blob/WR-72-linebreak-cursorverhalten/static/hooks.js#L94 2015-05-07 16:47:14 +02:00
John McLear
ee0368fd0f Merge pull request #2649 from xavidotron/develop
When using setText(), replace the entire existing text of the pad.
2015-05-06 16:37:07 +01:00
John McLear
361807e578 console msg should go to window 2015-05-06 00:36:42 +01:00
John McLear
c903cb3925 fix alt c and escape 2015-05-06 00:32:36 +01:00
John McLear
363d5d06b7 Merge branch 'develop' of github.com:ether/etherpad-lite into develop 2015-05-05 20:41:58 +01:00
John McLear
48c2b7cde1 fixes #2570 2015-05-05 20:41:40 +01:00
Xavid
5e64c292a4 When using setText(), replace the entire existing text of the pad,
rather than replacing all except the last letter.
2015-05-05 14:18:27 -04:00
0ip
9b85b8dc98 Fix popup border 2015-05-04 22:18:34 +02:00
John McLear
0a9c631410 better fix for #2625 2015-05-01 20:44:36 +01:00
John McLear
da06ac6fd7 dont prompt twice on import fool 2015-04-29 16:40:29 +01:00
Alexander Sulfrian
74ad7a8584 timeslider: Fix export links
Names of the pads can contain more charaters than \w. So while
transforming the export links, we simply can allow all charaters
except the slash as pad names.
2015-04-29 16:39:40 +02:00
John McLear
ac41d150c0 Merge branch 'develop' of github.com:ether/etherpad-lite into develop 2015-04-28 23:42:11 +01:00
John McLear
1f471b0f81 show versions of plugins at startup, fixes #2642 2015-04-28 23:41:55 +01:00
John McLear
799b086216 Merge pull request #2641 from lpagliari/develop
Fix the way Content Collector gets the node class. Fixes #2640
2015-04-28 23:05:39 +01:00
John McLear
dbb2956d2f allow chrome to use control shift 1 to send ordered list 2015-04-28 15:48:12 +01:00
Luiza Pagliari
58ab17bf9e Fix the way Content Collector gets the node class. Fixes #2640 2015-04-28 05:31:07 -07:00
John McLear
b349a4f226 probably fixes #2625 2015-04-23 17:49:08 +01:00
John McLear
b8192fd015 first attempt at fixing dead keys, it cant be this easy can it? 2015-04-17 17:01:15 +01:00
John McLear
629f909d57 add some semicoolons to prevent chrome warning 2015-04-13 10:52:15 +01:00
John McLear
6a027d88a9 fix older IEs 2015-04-12 13:00:01 +01:00
John McLear
5435063a2f re-fix rtl 2015-04-12 10:35:24 +01:00
John McLear
8ed12c7776 session key is now ignored and also padOptions are available in settings 2015-04-11 21:22:00 +01:00
John McLear
27aa71f3a4 IE list fixes 2015-04-11 13:16:45 +01:00
John McLear
34c5441392 msg to self 2015-04-11 11:37:20 +01:00
John McLear
14fab9f441 FF middle click fix 2015-04-11 10:45:51 +01:00
John McLear
7b86eb09bc new fix for #1766 2015-04-08 09:24:19 +01:00
John McLear
7e99724fec Merge branch 'develop' of github.com:ether/etherpad-lite into editbar-accessibility 2015-04-06 13:19:42 +01:00
John McLear
e027083136 timeslider settings for fonts 2015-04-05 15:18:36 +01:00
John McLear
56ce8e80ac hacky fix for opendyslexic 2015-04-05 14:50:53 +01:00
John McLear
41bb4ef094 support for open dyslexic font 2015-04-05 14:03:09 +01:00
John McLear
e49bb4017c use ctrl shift 2 instead of alt a 2015-04-05 13:42:26 +01:00
John McLear
db0bcdd696 fix issue where focus on timeslider wouldnt work 2015-04-05 13:39:20 +01:00
John McLear
f79e2c7de2 final accessibility for Timeslider hopefully 2015-04-03 12:29:47 +01:00
John McLear
139edceb66 Merge branch 'editbar-accessibility' of github.com:ether/etherpad-lite into editbar-accessibility 2015-04-02 16:50:43 +01:00