Commit graph

675 commits

Author SHA1 Message Date
Chia-liang Kao
f31db205da allow cssmanager to manage outer_ace 2013-06-15 01:38:46 +08:00
Kyle Kelley
82de797642 Only kept URL schemes which have an RFC standard 2013-06-12 12:31:38 -05:00
Kyle Kelley
b4f155c028 Cleanup gophers 2013-06-12 11:20:36 -05:00
Chia-liang Kao
548f31a46a new hook: aceSetAuthorStyle 2013-06-06 13:03:40 +08:00
Chia-liang Kao
eae9faa28c refactor setAuthorStyle 2013-06-06 12:30:48 +08:00
Marcel Klehr
90d1598688 Merge pull request #1751 from goldquest/dev_IE8-fix
Fixing IE8 errors
2013-05-08 07:19:15 -07:00
Brian Emerick
e7d8f124ad Issue #1625: Fix to client-side-induced changeset spamming.
THE BUG - HIGH LEVEL:
- When client A sends out an attribute change, client B applies that change to itself but
  also thinks that it made the change itself, which is incorrect. This means that when client B
  next makes a change, he will send out that he made the attrib change that A actually made.
- Ex: Have 2 clients on the same pad. Have A apply bold on some text. Next, have B type a character.
  B will broadcast that it both added a character AND applied bold, when in reality it did NOT
  apply bold at all, that change was done by the other client and this client incorrectly adopted it as its own.
- This root bug behavior results in clients continuing to think that they each made the other client's change,
  thus resulting in an infinite loop of changeset spamming that bogs down clients and harms server stability.

THE BUG - IN DEPTH:
- The root issue is in the way that Changesets are combined in Changeset.follow(). Specifically, in the case of a
  changeset with ONLY new attrib changes (no text changes) being merged with an identity changeset (has no ops).
- In this case, Changeset.follow() copies the ops of the new CS and fully overrides the other CS.
- applyChangesToBase invokes Changeset.follow to determine the final client document CS state after applying the new CS.
  If the final client document CS state is NOT the identity CS, then the client broadcasts that it made a change.
- When client A changes just attribs, client B's applyChangesToBase calls Changeset.follow() and passes client A's
  changeset (attrib change) and Client B's current changeset state (identity).
- As per the noted bug, Changeset.follow() returns client A's changeset as a result, causing client B to adopt
  client A's changeset as its own document state. Thus, client A ends up thinking it has made client B's changes.

THE FIX:
- Changeset.follow() should NOT copy the ops of the new CS passed in if those changes are only attrib changes.
  This allows applyChangesToBase to properly set the client's CS back to the identity after applying an
  external attrib change, instead of incorrectly adopting the external client's changes.
2013-04-24 15:18:25 -07:00
goldquest
98c43aff43 fixed spacing 2013-04-17 18:17:14 +02:00
John McLear
f478f99995 Merge pull request #1750 from ether/fix/authorship-once-and-4-all
Fix authorship sanitization
2013-04-17 08:13:22 -07:00
goldquest
896f72311f use document, not doc 2013-04-17 16:51:54 +02:00
goldquest
566034ddf0 IE8 don't knows the Array.forEach function (simple version fix) 2013-04-17 16:51:43 +02:00
goldquest
b08a6e522f IE8 complains, if catch block is missing 2013-04-17 16:51:21 +02:00
Marcel Klehr
146c75e703 Remove console.log in content collector
fixes #1731
2013-04-17 16:37:45 +03:00
Marcel Klehr
560fd55bf2 Fix authorship sanitization
author colors wouldn't get disttributed, if their id was greater than 9
(due to apool encoding them to base 36)
2013-04-17 15:24:40 +02:00
John McLear
4989f56673 undo avoid changeset spam as it breaks functionality 2013-04-15 14:36:25 +01:00
John McLear
c3c7a3d128 Merge pull request #1721 from ether/dont-send-same-cs-spam
temp patch for #1652
2013-04-15 04:20:05 -07:00
John McLear
08b54ef61b Merge pull request #1732 from ether/authorID-2
Correct authorID in Changeset on modification
2013-04-12 06:36:39 -07:00
John McLear
337179fddd remove console logs and cruft 2013-04-12 14:34:07 +01:00
Marcel Klehr
f4de7f6a90 Use a string instead of an array! 2013-04-11 21:23:38 +02:00
Marcel Klehr
49013b18c7 We need to replace all new author attribs with thisSession.author, in case someone copy/pasted or otherwise inserted other peoples changes 2013-04-11 21:12:59 +02:00
John McLear
f9d23767f8 Merge pull request #1709 from ether/keep-list-order-on-paste
When you paste into a numbered list, keep some integrity
2013-04-11 09:07:22 -07:00
John McLear
dc6e2e13fe Merge pull request #1723 from ether/expose-broadcastslider
expose broadcast slider so plugins can interact with it
2013-04-11 09:03:43 -07:00
Marcel Klehr
594757cc47 html10n.js: Don't break in getDirection if language hasn't been set
fixes #1724
2013-04-11 18:51:49 +03:00
John McLear
9581097dc7 remove cruft 2013-04-11 16:39:25 +01:00
John McLear
1fc906017c final css 2013-04-11 16:38:41 +01:00
John McLear
e712f7665d working solution props to dmitryu for making me not be scared of modifying div clases 2013-04-11 16:33:03 +01:00
Marcel Klehr
c755633f09 Update html10n.js to correctly use the console.log shim
fixes #1724
2013-04-10 17:56:09 +02:00
John McLear
8836981e32 expose broadcast slider so plugins can interact with it 2013-04-09 15:55:14 +01:00
John McLear
90c5b26e89 keep integrity on paste and better styling but new lists dont reset counter 2013-04-09 14:29:55 +01:00
John McLear
2e76bd4e50 working but then create a second list, it will be stupid, SIGH 2013-04-09 01:22:09 +01:00
John McLear
7885c410b5 Merge branch 'develop' of github.com:ether/etherpad-lite into keep-list-order-on-paste 2013-04-09 00:52:04 +01:00
John McLear
bfa233ba04 kudos to quenenni for some working CSS 2013-04-09 00:46:13 +01:00
John McLear
70a25964b6 make sure elements are supported, still doesn't assign numbers properly 2013-04-08 23:32:04 +01:00
John McLear
49cff88a48 semi working 2013-04-08 23:03:19 +01:00
John McLear
7098ba49f3 Merge pull request #1722 from mluto/remove-top-console-log-in-collab-client
use `parent.parent` instead of `top` in `collab_client.js`
2013-04-08 14:09:36 -07:00
mluto
dfc49df52d use parent.parent instead of top in collab_client.js, since top breaks embedding when a pad is embedded (same origin policy) 2013-04-08 22:58:34 +02:00
John McLear
bf93500214 some polish for a turd 2013-04-08 19:50:52 +01:00
John McLear
946289c221 temp patch for 1652 2013-04-08 19:46:45 +01:00
John McLear
7728d5b321 remove draggable which was used for dragging users in the userbox 2013-04-08 17:23:03 +01:00
John McLear
12bc98af7e Merge pull request #1716 from ether/only-redraw-existing-lines
only try to redraw the line height of lines that exist..
2013-04-08 08:44:48 -07:00
Marcel Klehr
324b9b1f5f pluginfw/installer: Only restart the server when all tasks have finished
fixes #1685
2013-04-08 16:14:03 +02:00
John McLear
f135f79d13 only try to redraw the line height of lines that exist.. 2013-04-07 19:06:15 +01:00
John McLear
ffc8f61a2f remove cruft 2013-04-07 18:44:13 +01:00
John McLear
12a2da2884 attempting to get right client authorid sent with changeset 2013-04-07 18:40:55 +01:00
Marcel Klehr
402a4b7b3e html10n.js: Finally fix two-part locale specs
fixes #1706
2013-04-05 14:18:46 +02:00
John McLear
883be3d48d begin by adding some template css 2013-04-05 02:21:56 +01:00
John McLear
380821781f dont use top, use the scheduler 2013-04-04 02:25:19 +01:00
mluto
c5b4e4934d Kick the user if has already successfully authenticated but his session became invalid later 2013-04-03 11:19:26 +02:00
John McLear
56275d8de7 longer timeout on reconnection 2013-04-02 12:20:38 -07:00
mluto
1793e93ea1 Decode the sessionID before sending it to the server since our separator ',' gets encoded 2013-03-31 11:30:01 +02:00
John McLear
6a5e5cb6fd Merge pull request #1640 from ether/caret-refactor
Caret refactor - I need help with tests...
2013-03-30 09:21:35 -07:00
John McLear
f1b60e9867 Merge pull request #1677 from ether/ctrl-s-fade
show light yellow for .5 secs on save revision keypress
2013-03-28 20:11:30 -07:00
John McLear
c67c7ca746 remove messy bits 2013-03-29 03:09:10 +00:00
Marcel Klehr
0ff5137da3 Make revision button glow on ctrl-s and increase duration 2013-03-28 16:39:33 +01:00
John McLear
59a9ff404d more settimeout to top window 2013-03-28 13:18:55 +00:00
John McLear
c489177206 show light yellow for .5 secs on save revision keypress 2013-03-28 02:24:59 +00:00
John McLear
09b32ea694 Merge pull request #1672 from ether/feature/admin-plugins-revamp
/admin/plugins revamp
2013-03-27 12:05:00 -07:00
John McLear
2abb993e8b Merge pull request #1607 from ether/custom-obj-msg
Custom Object messages
2013-03-27 11:50:56 -07:00
Marcel Klehr
cbee50d42d /admin/plugins: Display a tooltip when hovering the plugin details link 2013-03-27 12:28:54 +01:00
Marcel Klehr
bc8d6d4c45 /admin/plugins: Add a loading indicator to some messages 2013-03-27 12:20:50 +01:00
Marcel Klehr
c4d9a71156 /admin/plugins: Fix update check 2013-03-27 12:02:19 +01:00
John McLear
cee1ead8f6 Merge pull request #1664 from ether/sticky-chat
Option to enable Sticky chat from the chat dialogue
2013-03-26 13:12:01 -07:00
Marcel Klehr
d01a209cbf /admin/plugins: Dry up displaying of info messages 2013-03-26 21:04:21 +01:00
Marcel Klehr
76c879bb47 /admin/plugins: Fix for smaller screens 2013-03-26 20:41:24 +01:00
Marcel Klehr
806926d0f6 /admin/plugins: If a user installs sth scroll up to the loading indicator 2013-03-26 19:54:23 +01:00
Marcel Klehr
4edb3b7ab3 /admin/plugins: Fix infinite scroll for larger screens 2013-03-26 19:32:15 +01:00
Marcel Klehr
2393dcd652 Disable search until registry is loaded and fix sorting by version
... and always display a scrollbar.
2013-03-26 19:22:04 +01:00
Marcel Klehr
f75a839cd0 Remove plugin prefix in pluin lists and make links to plugins more clear 2013-03-26 18:39:46 +01:00
Marcel Klehr
7edfff7574 /admin/plugins: Show some text if nothing is display otherwise 2013-03-26 16:23:47 +01:00
Marcel Klehr
638cea5fd6 Install and uninstall plugins with style
- Don't block the whole page when installing a plugin
- allow people to search and install other plugins meanwhile

Why? http://i.imgur.com/XoX6uYS.jpg
2013-03-26 15:11:30 +01:00
Marcel Klehr
981a33f01e pluginfw/installer.js fire callbacks only once 2013-03-26 14:40:19 +01:00
Marcel Klehr
aca5d150e4 /admin/plugins: Don't list installed plugins as available 2013-03-26 11:58:31 +01:00
Marcel Klehr
511407241a /admin/plugins: Make it display the same amount of plugins after sorting 2013-03-26 11:38:51 +01:00
Marcel Klehr
5d7a8adcb7 Silence npm when using npm.commands.search 2013-03-26 11:33:04 +01:00
Marcel Klehr
9109bd206e Catch all errors in pluginfw/installer.js 2013-03-26 11:20:12 +01:00
Marcel Klehr
e8bae61cf5 /admin/plugins: Add progress indicators and report errors 2013-03-26 11:19:36 +01:00
John McLear
6b55d13370 expose ace document, reqjired for various plugins 2013-03-26 01:54:01 +00:00
Marcel Klehr
b35d9c14fd /admin/plugins:Hide ep_etherpad-lite in the list of installed plugins 2013-03-25 23:52:10 +01:00
Marcel Klehr
773293991b admin/plugins: Allow people to sort search results 2013-03-25 23:09:03 +01:00
Marcel Klehr
1ebbcd2f30 Don't leak event listeners in pluginfw/installer.js
fixes #921
2013-03-25 17:22:51 +01:00
Marcel Klehr
079fdf0f38 Revamp /admin/plugins
- dry up the client-side code
- use the new saner API of pluginfw/installer.js on the server
- Improve UX: allow user to infinitely scroll to display their results
2013-03-25 17:20:10 +01:00
Marcel Klehr
b297784288 Make npm registry access code more sane 2013-03-25 16:51:12 +01:00
Marcel Klehr
0070eab416 Fix caching of npm search results and only make one registry request on /admin/plugins
fixes #1488
2013-03-25 12:45:23 +01:00
John McLear
2e7a9796de option to show sticky chat on screen, note i use a literal string, how am i supposed to add a l10n title? 2013-03-24 01:12:01 +00:00
John McLear
0063933041 fix cookies 2013-03-23 02:59:12 +00:00
Sahil Amoli
23abafb3cb Issue #1648 - Long lines without any spaces don't wrap on Firefox, the text ends up going off screen 2013-03-20 15:48:11 -07:00
John McLear
4ea7ccd104 merge develop 2013-03-20 01:11:27 +00:00
Marcel Klehr
bcb92f25a6 Refactor chat notifications and the chatNewMessage hook 2013-03-19 20:21:27 +01:00
John McLear
d0e656d0a6 Merge branch 'develop' of github.com:ether/etherpad-lite into custom-obj-msg 2013-03-19 13:59:07 +00:00
John McLear
7741f762e2 hook for chat msg 2013-03-19 02:21:53 +00:00
Marcel Klehr
b3dbf1c995 Update html10n.js 2013-03-18 22:29:42 +01:00
John McLear
3562672a75 stop start point going negative 2013-03-18 18:44:01 +00:00
John McLear
27e9f91864 page up, down etc all working, still no shift page up/down for highlight but that never worked anyways 2013-03-18 18:03:37 +00:00
John McLear
9f54a65c88 refactored arrow keys now work after paste in chrome 2013-03-18 17:40:18 +00:00
John McLear
3e0a80cb74 remove console log 2013-03-17 15:17:36 +00:00
John McLear
693b9b9b94 better mobile support for gritter messages, before it was awful 2013-03-17 01:23:31 +00:00
John McLear
a1d9d27cde much cleaner way of showing / hiding overlay 2013-03-16 17:57:23 +00:00
John McLear
69a4ab76cf hide modal once reconnect is good 2013-03-16 17:50:53 +00:00
John McLear
13ad46aa67 a safer approach I think but still be careful 2013-03-16 13:19:12 +00:00
John McLear
cf041dcb08 Merge pull request #1618 from ether/tidy-up
Tidy up
2013-03-14 14:32:13 -07:00