Commit graph

659 commits

Author SHA1 Message Date
John McLear
dee2dab7c4 getAttributeOnSelection function 2013-11-28 17:27:52 +00:00
s1341
7550be0921 strip off trailing commas 2013-11-26 10:11:32 +02:00
John McLear
3be1ee5967 slightly cleaner 2013-11-25 17:36:24 +00:00
John McLear
252be19885 make sticky chat mroe responsive to changes in top bar 2013-11-25 17:33:33 +00:00
Marcel Klehr
5d803a0523 Fix walking caret bug
white-space css prop must be set to pre-wrap to keep trailing spaces
fixes #1766
2013-11-22 17:18:30 +01:00
Grant Woodford
c3a58f42e7 Added a better way of detecting when a url does not have a protocol specified 2013-10-21 22:15:46 +02:00
Marcel Klehr
8c9e543b91 Fix disconnect modals 2013-10-12 22:29:03 +02:00
Marcel Klehr
7f10b9a42f Add explanations for more disconnect scenarios 2013-10-10 21:11:15 +02:00
Marcel Klehr
22e9e5fdcd Merge pull request #1926 from ether/fix/no-connect-to-corrupt-pad
Fix a whole range of bugs related to corrupted changesets
2013-10-10 11:07:37 -07:00
Marcel Klehr
46511d6144 Polish the error messages of the easysync lib 2013-10-10 20:02:13 +02:00
Marcel Klehr
ccf4683558 Easysync: Throw an error if an unknown attrib is referneced 2013-10-10 16:38:16 +02:00
John McLear
6dc4240985 Merge pull request #1919 from ether/make-username-show-properly
use val not value, broken with newer jq
2013-10-02 16:37:29 -07:00
John McLear
d69df91709 use val not value, broken with newer jq 2013-10-03 00:36:15 +01:00
John McLear
6e4d94069f Merge pull request #1906 from ether/down-arrow-dont-be-weird
Down arrow dont be weird
2013-09-28 23:38:45 -07:00
John McLear
7d1d73f8a6 doh, wasnt supposed to add this background 2013-09-25 22:20:13 +01:00
John McLear
ed04842801 more sensible reload without cache message 2013-09-25 22:18:51 +01:00
John McLear
c8109b7398 sanity also control home support 2013-09-25 15:56:56 +01:00
John McLear
487f1a969f vast improvement on movement of caret due to isolation of cause of problem - TLDR is Chrome detects blank rows line heights as incorrect 2013-09-25 14:57:02 +01:00
Marcel Klehr
6a02302fc9 /admin/plugins: Fix search algorithm (use string match in lower case)
fix #1903
2013-09-23 19:55:35 +02:00
John McLear
e35c45e9b5 make export clearly seperated from import 2013-09-21 16:22:43 +01:00
John McLear
ca680a32b6 fix padding so export icons show properly 2013-09-21 16:17:19 +01:00
John McLear
05a8ae7acc padding on import now button 2013-09-21 16:15:59 +01:00
Guillaume AMAT
96adb4d626 The #importsubmitinput button was too small and hidden its value 2013-09-21 12:39:45 +02:00
Guillaume AMAT
6de3a400e1 The import/export columns were not displayed correctly 2013-09-21 12:38:26 +02:00
daniel tygel
1cfde05139 fix .popup CSS to fit in small spaces, like thin iframe 2013-09-17 11:26:11 -06:00
Marcel Klehr
2b46bc40a1 Beautify infinite scroll 2013-09-12 16:37:37 +02:00
Florent Viard
6f478c4de1 Fix to check if searchTerm is not "undefined" before trying to use it to filter search results.
Signed-off-by: Florent Viard <fviard@lacie.com>
2013-09-11 11:36:09 +02:00
Marcel Klehr
c39eb4f443 Make use of the new plural macro 2013-07-23 12:43:30 +02:00
Marcel Klehr
dabba91152 Update html10n.js 2013-07-23 12:42:55 +02:00
Dave Longley
3a47e719d4 Make pads with long lines usable with chrome.
- Do not use incorpIfQuick on keyup because it's not ever quick
  on chrome. Calling incorpIfQuick calls incorporateUserChanges
  which sets a flag on the current callstack state indicating
  that the selection has changed (since something was typed).
  Whenever this flag is set, the event handler will run code
  to update the selection (and possibly scroll the view as
  well), which is a very costly operation in webkit browsers.
  Instead let the user changes be incorporated by the idle worker,
  scheduling it to run ASAP on keyup. This isn't a perfect
  solution, but may make pads running on webkit browsers more
  usable with otherwise fairly unnoticeable changes in the UI.
2013-07-14 01:51:39 -04:00
j@mailb.org
9dd6471921 Add userLeave hook 2013-06-17 15:53:01 +02:00
j@mailb.org
bc5dc74f90 pass pad in postAceInit hook
no way for plugins to access current pad otherwise.
2013-06-17 15:52:51 +02:00
j@mailb.org
a554552bed Simpify CSS for sticky chat 2013-06-17 14:47:28 +02:00
John McLear
ae78c6731d Merge pull request #1811 from clkao/author-style-hook
Document author style hook and provide outer_ace dynamic css manager
2013-06-15 00:17:09 -07:00
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