Commit Graph

1466 Commits (a0bcb901d316e748209632d2da5c6bdb6effe495)

Author SHA1 Message Date
ansuz 4c0d7bf8e8 support multiple calls to cryptpad.ready
ansuz ec041c88e2 console.log when providing feedback
also notify server if a users browser does not support proxies
ansuz c51073f211 support batch getFileSize calls
ansuz 3afaf029cb feedback about how often we migrate an old drive
ansuz e8b053e48b use bootloader in feedback.html
ansuz 347459781c show the size of your files, if you're logged in
ansuz 2b8579e8b7 add pretty-printers for byte-counts
ansuz 2a25afae5f Merge branch 'soon' into staging
Caleb James DeLisle c341fa8e94 Pull jquery using require.js rather than as a script tag and fix require to pass jquery as a parameter
ansuz da69c1822c ask users to sign back if signing keys are missing
ansuz 821c1a3ec6 annotate code which we hope to be able to deprecate in the future
yflory 43c045721c Get the channel history
ansuz a27cc76fc0 uppercase LOL
ansuz 402ce2db93 better validation of inputs
ansuz c7eae9675b keep exporting isArray for backwards compatibility
but prevent internal use
ansuz fbebbf0dca minor clean up
ansuz 525d35c9ec redefine alert
ansuz f694a81a5c move more interface code out of cryptpad-common
ansuz a4157b9908 remove more unused functions
ansuz e10901edb2 begin to move interface code out of cryptpad-common
ansuz 95789d3cbe expose rpc for pinned usage
ansuz 8f4dbcf4c6 remove getPadTitle
ansuz f42da4ecd8 move hashChannelList into common-hash.js
ansuz 63960bd38c Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 520ae822fc correct undefined reference
yflory 633d60ccd0 Remove a TODO
yflory 81d83897ec Rename hash.js
yflory 07705cd5c1 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory eb2a3c1bbf Fix lint errors
ansuz 607d9652f5 jshint compliance
yflory 3ba90332bb Merge branch 'refactor' into staging
yflory daabb0b3ad Integrate and fix the new fileObject (userObject)
ansuz df4a250359 use feedback api instead of app=
ansuz 86c37bfa37 fix find+replace error
ansuz e618483395 extract all code for encoding and decoding hashes
ansuz fdd2716ad5 move constants to the top of cryptpad-common.js
yflory c1e0316d43 Refactor fileObject
ansuz 5212539a16 move standalone functions from common into their own file
ansuz 7437d6b902 remove unused function
ansuz 4e590a9dd1 remove even more dead code
ansuz 85fcaa9bbc remove more dead code
ansuz 401936a91e move singly-used css file out of /common/
ansuz 7a59183bb1 pinpad.create should always be async
ansuz 8de3610532 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 9aa0548b1f remove dead cursor code
yflory 4e61b79f9a Clean fileObject
yflory cde724399c Pin the pads
ansuz 2c8d1b8183 jshint compliance
ansuz 05a50b1f4c Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz a14bb1480a progress for implicit pinning
ansuz f82278a25c handle return of undefined hash
ansuz 1d933be5a6 make reset return the hash, not an array with containing it
yflory f34492be94 Remove duplicates uid in the user list
yflory cfc5d634f4 Merge branch 'templates' into staging
yflory bd16e0f0e7 Templates in polls and canvas, and ability to disable templates
yflory 84d8615cf1 Save and use templates in pad, code and slides
ansuz bd2034c47b prepare rpc before 'ready' if pinning is enabled
ansuz a70388284d disable unnecessary messages
ansuz abd87e1322 jshint compliance
ansuz e4b15bc616 implement 'getCanonicalChannelList'
ansuz a2f692b9a3 clean up serverside and clientside pinning logic
ansuz fdede0d1fd remove some dead code
ansuz e87992c7ec implement atomic pin reset rpc
ansuz 3380cf0348 implement getTotalSize rpc
ansuz 5c292fb1fa jshint compliance
ansuz 64089c5f6b implement pad pinning
yflory 13514dff63 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory 46a5eee597 Display the spinner in the toolbar for local changes
ansuz 6c7cdc90a9 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 212baeb3a6 better cookie schema. expire old sessions
yflory 54d271c4e7 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory a9777ce560 Fix input losing focus in polls with Chrome 57
ansuz 3e47b8a38d remove dead code
ansuz 182dbfc874 implement pinning logic in pinpad.js
ansuz a5e5ddae08 rpc all the things
ansuz 04069cc7f4 fix font size
ansuz 6e9968f989 add 'lol' code theme
ansuz 9b4b642d4a protect against subtly corrupted user objects
ansuz d4ce3dc6b9 don't rewrite css rules. FOUC is too long
ansuz 3cfd0a4326 commit some garbage
ansuz ed89a13fe6 progress on adding version string to some css
ansuz 76990ac1b2 version toolbar.css for cache-busting
ansuz a0c17d7c9b latest rpc code
ansuz 59a80d5fde remove silly TODO
yflory a8ffac5dcd Remove old code
ansuz fa9249ef29 don't notify for userlist changes if a user joins twice
ansuz 40f5e1706f add a unique id to user objects, define a getter
yflory 994d640f8b Fix an issue causing the lag icon to lose its color
yflory 6fbd1f0028 Store the dates as number and not strings to avoid ot issues
yflory 51033ab70a Remove useless links in the context menu and properties for readonly pads in the drive
yflory 7afde2309d Add properties to the files not in the trash
ansuz b542245086 fix lint error
ansuz cc43bb8362 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 98027dad27 jshint compliance
ansuz 4a173e30dc set user's cursor to either the beginning or end of the document
yflory 29174b2922 Update the lag icon
yflory 26edb77cf0 Fix style and usability issues in slides
ansuz d422c7e165 support old hashes in getUserChannelList
ansuz 5ed6223313 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz c9c9dd0999 use userChannelList if a list is not supplied to pinpad
ansuz e8c3cf6aa5 implement rpc message signing
ansuz d85a42c776 include User_hash in user channel list
yflory 7761aaa89f Add search UI
ansuz c3c866fa2b Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory d19bbcb001 Add support for search in the drive
ansuz 5eb32b33ee Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 298725b3c2 don't show usage tips on error screens
ansuz 0a6373852e add signing keys to user object at login and register time
yflory b9c64a526a Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory 15e9af77bb Remove the langauge selector from toolbar and add it in settings
ansuz 8129b8cdc1 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 15a67afc75 jshint compliance
yflory 13d7b3cadc Merge branch 'd' into staging
ansuz 7187d3c550 implement getUserChannelList
ansuz 306f6ce806 resolve merge-conflict with accounting branch
yflory f10149db1c Make sure the tip is always visible when the loading screen is removed
ansuz 71db08eac2 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 09afba80db add support for logging in from register page
yflory 16e5788011 Call the callback if we can't parse the local Drive to import it
ansuz 413d9a6f0b add a style-callback to confirm
ansuz 803e57c958 add more parameters to confirm dialogs
yflory ceaf757680 Allow right click on the CryptPad logo/link in the top left corner
ansuz f2aa531f27 apply styles to confirm buttons if provided
ansuz df6298eeb6 apply styles to confirm buttons if provided
ansuz 07a2d8e189 apply translations on feedback page
yflory b7986ff6b1 Replace the spinner code with a font awesome spinner
ansuz d9996cc874 current work for pinning
ansuz b3cc8da315 implement basic clientside RPC infrastructure
and provide a basic example for testing it
ansuz 81027b4200 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into accounting
yflory 459b18c97b Add the loading screen in the HTML so that it is displayed before JS is loaded
yflory 404fa378e6 Move the store to the 'common' folder, it is not customizable anymore
yflory 0c1efd361b Make sure the href is updated everywhere when importing a stronger link
yflory b701e3cc85 Fix lint errors
yflory 4206382865 Fix the settings app to allow backup for unregistered users
yflory f62267f8a1 Ability to import local pads in the user object
ansuz e2418a6be2 sketch of how pinning rpc will look
ansuz dc567fa7f3 signing keys are stored in hex so encode and decode them
yflory 9ad33574e9 Fix the function returning the pads list in the drive
yflory d93a270336 Ability to display tips in the loading screen
yflory 77d09f64e1 Display anonymous users in the user list
yflory cb88227e2b Autocomplete on key press in some dropdown menus
yflory 2a1b241592 Display a button to open the editing link while in read-only mode if we know it
yflory ed9bcca96f Close the websocket network when CryptGet/CryptPut is done
ansuz 0bb10a8a0a Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz e1303a16da add support for title attributes on dropdowns
yflory 52793385ea Fix lint errors
ansuz 01c4d7d4a7 Merge branch 'maybe' into staging
ansuz c884782d57 here are some changes
yflory 9a7c2dd5e2 Add a 'settings' link to the user menu in static pages
yflory c5f983ecd7 Convert read-only link to editing link in the drive
ansuz a9afa24428 return empty string instead of blowing up when fixing HTML
yflory 8bdc8415ab Find a pad in the drive
Caleb James DeLisle 91eda5fa83 Implement stronger content-security-policy except in /pad/ which does not allow it.
Implement a "loader" which allows for applying a version number to everything.
Added a cache control for anything which has a version.
ansuz 7db0e14bc0 add 'force' flag to override removal of html elements
ansuz cb5e01815c validate all alertify strings by default. require 'force' argument to bypass
yflory 2c5c6da0d9 Fix XSS in alertify logs
yflory 5797aab3f2 Fix XSS with display names in the user list
yflory 26e3971482 Fix XSS in the user dropdown menu
ansuz 5d39125004 Make onSettle Async Again
yflory 4f4075ed6e Make the settings app available to anonymous users
ansuz 12aec60a12 hack around onSettle not doing its job
ansuz 1a259bb3aa check if user has disallowed feedback api
yflory 498f4065cf Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory 66dc166936 Make sure the realtime is synced with onSettle when using cryptget
ansuz de5a21fe57 add a simple feedback api and text explaining what it is
yflory 88b29e8bdd Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory 5303e76ece Make sure the content is correctly applied in onReady
ansuz cc829d51f8 jshint compliance
yflory 42b6cca18d Fix new pad not working
yflory 3fd5669647 Hide the trash icon for read-only pads if we have the edit link in drive
yflory e15a6a347f Fix the forget pad button
yflory 54b0a86c2e Make sure we redirect to the drive if we access the login page from the homepage
yflory ba0b314f5e Fix the 'new' button in drive which was broken in non root categories
yflory 0ce17ebbad CryptDrive usability improvements (new file in drive + context menu)
ansuz 7e77c6828a more correct pluralization
yflory c72bbd4c37 Use the file name as initial title
yflory 47b8fefd9e Load messages.js only once, in cryptpad-common
yflory 11d9c9e813 Merge branch 'master' into staging
yflory 2103f0afa8 Merge branch 'master' of github.com:xwiki-labs/cryptpad
yflory 0bdf59c1dd Fix broken link in the 'New' button on cryptpad.fr
yflory d81d17b86c Remove old translations keys no longer used
yflory 239e2bcc1f Fix issue with null entries in Cryptpad_RECENTPADS
yflory 1540ae3f6f Fix issue with null entries in Cryptpad_RECENTPADS
ansuz 94417d9a8b jshint compliance
ansuz c9b8889380 add cache-busting to chainpad-crypto
ansuz 09fade6127 add cache-busting to chainpad-crypto
yflory 2daa9f8658 Link to main page was opened in the inner iframe
yflory deda40375a Use the new onSettle from chainpad to determine if the realtime is synced
yflory 92d50ded64 Merge branch 'soon' into staging
yflory 97762f9f9a Make sure all the elements in RECENTPADS are non-null objects
yflory e4dbe97d71 Update display name in realtime across tabs and remember 'anonymous' name
yflory 7762ffcbff Ability to use Ctrl+click on the cryptpad logo in apps
yflory 7497e0d1c5 Add a dropdown user menu to the top bar in static pages
yflory 7758d056fa Ability to import/export a user realtime object
yflory cd9cea8fa4 Create a settings app to manage user objects
yflory 71b84afdb2 Redirect to the pad when logging in or signing up from a pad
yflory 92050eb04f Fix the trash button in toolbar not always working
yflory aae3fba284 Fix the storage when the hash is invalid
yflory b1b294aade Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory 3aa03225c9 Add a spinner when hashing the password and translate homepage
ansuz fbcf4ccec4 force usernames to be lowercase
ansuz 5614bea271 redirect users to login and register from toolbar
ansuz f723585758 add api to check whether the realtime has synced with the server
ansuz d0edf75c89 signup link directs users to register page, not user
ansuz 1232aa8a79 jshint compliance
yflory 8eec7ec7c8 Fix typo
ansuz f92ba193c3 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz e100110741 implement log in as an api
yflory f8366e0cfc Remove support for legacy store and add a way to import legacy pads
yflory 67d881b2cf Remove the drive entry from the user menu if already in drive
yflory 914c442615 Do not redirect to home page when logging out from another tab
yflory 702798f65a Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
yflory 1e2cc6bea4 Fix race condition with the iframe store
ansuz 6e97082ff9 remove dead code from login function
ansuz 8a1acc3c37 Merge branch 'staging' of github.com:xwiki-labs/cryptpad into staging
ansuz 6f07a3b7b4 erase lingering sessionStorage values when logging out
yflory ac79fbb5a2 Improve mobile support for the toolbar and the drive
yflory 9f1789b2d2 Fix creation of pads from non-root category in the drive
yflory ad82a275bc Replace the Apps button by a New button again
yflory fd33ffd56f Fix issue creating a patch everytime the user clicked in an app
yflory 87abfac5e0 Fix lint error
yflory 02439e0f61 Improve the homepage with new images and translations
yflory 2c6b4b9c6a Hide disabled applications from the context menu in drive
yflory 91299f5f30 Ability to access the drive from any pad
yflory b0fb56fa63 Allow logge din users to access the home page
yflory 65054119cf Fix a bug preventing reconnection in drive
yflory 757ae7a3ad Fix a cross origin frame issue with dropdowns
yflory 39c85ca3f7 Fix race condition causing missing translations in homepage
yflory 5e69b78334 Remove the domain from the href in store
yflory 58d8a30b5b Redirect to the main page when logging out
yflory 5ef074370b Name a place before creating it in the drive
yflory 0e9e0e545f Load the new pad when the hash is changed
yflory e41cbb92d8 Use default FILES_DATA name if not provided
yflory c44f3a1044 Delete multiple elements could also remove unselected ones
yflory 3f44444f41 Display the 'New' button in the trash
yflory 11f0a9ae5f Revert the changes adding anonymous pads
yflory f42665ba49 Remove the unowned pads category
yflory cb85ad3fdf Merge branch 'newtoolbar' into ownedpads
yflory 373b07ed28 Fix lint errors
yflory 015e6fc262 Make sure we have the same hash in all the tabs when disconnecting
yflory 88021f2264 Anonymous pads fo anonymous users
yflory 9d275daebb Backport changes for the login page from hpbs branch
yflory 99b8898e54 Apply new title when clicking on the page without pressing enter
yflory 88d5b4cc9c Add a 'New pad' button in the toolbar
yflory a9063e0459 Reload all tabs when the user logs in or out
yflory efed1f5efe Add handlers to login and logout buttons
yflory 767ba8b549 Select what we want to display in the toolbar
yflory 2afdc11327 Replace the username button by a dropdown menu
yflory 4adde0f0c0 Use the new dropdown for userlist and share
yflory efffd4974f Add createDropdown and createLanguageSelector in cryptpad-common
yflory 29c8f0bbef Use a FontAwesome spinner to replace the old unaligned one
yflory 3f1e287811 Fix an issue causing a user object to be turned into a pad
yflory 569ea21705 Replace the language selector by our custom dropdown menu
yflory 26dd4ea11f Fix lint errors
yflory 4278ac7637 Merge branch 'soon' into fileManager
yflory 2be5db9540 Ability to open files in readonly mode
Fix CSS issues
yflory f74d0a46a4 Remove the alert when pressing del in 'all files'
ansuz 1c3f1a15cd make sure that /pad is resized after loading
yflory 5b08fed7fa Ability to add files from the drive toolbar
Fix CSS issues with the different toolbars
Translate the backup URL button alert
yflory d5561910d4 Move the file manager into /drive and add a toolbar
yflory 1e70af0c16 Use the same network for the apps and the file store
ansuz e56cc49f79 catch errors that popped up because of a cross-origin iframe
ansuz 5cd714b18a configure filestore usage via customize/application_config.js
ansuz 91a806ab86 focus on OK button when we pop an alert
ansuz 89e5830409 make alertify display time configurable
ansuz 5e1d8292c5 guard against trying to parse special fragments
ansuz 52a593c2c2 fix jshint complaints
ansuz 53a4d4738a really make sure you're logged out
ansuz 5534da8abf Merge branch 'staging' of github.com:xwiki-labs/cryptpad into login
yflory 9b6c9e3891 Add support for templates in the file manager
ansuz 29d406b7a9 implement cryptput
yflory 87abfff66b Fix Flash Of Unstyled Content (fouc)
ansuz 1682d23c1c remove old user prototype
yflory c359c27997 Use user object as default store in file manager
yflory 4aed585574 Fix style issues in the toolbar
ansuz bd6992da0a create a random hash
ansuz 2cd50498c2 add log(in|out) functions to common
ansuz 7df460c766 implement createChannelId api
ansuz 5a14db9f07 Merge branch 'test-filemanager' into login
ansuz 303953a431 Merge branch 'soon' into login
ansuz 6b9529b121 implement ajax-like functionality for zk docs
yflory 5bc7766f44 Use a consistent toolbar across all apps
ansuz 2968488278 convert uint8 arrays to hex
yflory 8e6830d080 Fix file manager with a chosen hash
yflory ee56f5608f Fix the infinite spinner bug with the file manager store
yflory 43ccd11adc Merge branch 'infiniteSpinner' into fileManagerMerge
yflory 05fd6c1563 Fix the infinite spinner problem
yflory cb43eb9ca1 Merge branch 'newpoll' into fileManagerMerge
yflory 9b3719e0ae Merge branch 'soon' into fileManagerMerge
yflory 6dff82ede2 Improve UI, scrollbar in the table, publish/admin buttons
yflory 90804ed9e0 Add usernames/userlist in the toolbar and fix publish button
yflory 5a5451d94c Sort elements in the trash, add properties in the context menu, fix issue with Edge
yflory a957b72598 Create a new pad from the file manager
yflory d6e1215166 Refresh the directory if needed when the object has changed
yflory 118829617f Use the FS store as default store
ansuz c2770a7a74 set correct hash even if browser does not implement replaceState
ansuz 303c65f2c3 use replaceState if available, instead of setting the hash
ansuz 2d5448458b export messages
ansuz d512b113cd address failure to parse url when hash is not present
yflory ab1d3958ce Add a pencil icon when hovering the title
yflory 6d1e06cca3 Add notifications when a user joins or leaves the channel
yflory 54a63267cd Add a share button and merge the viewers and editors buttons
yflory 87d86384ac Fix broken elements in the new toolbar
yflory 6351d1856f Remove the top bar and move its content in the applications' toolbars
yflory 3d74290c7d Merge branch 'usability5' into staging
yflory 9e92a597b3 Ability to edit the title in the toolbar by clicking it
ansuz a8612ed1c7 Merge branch 'usability5' of github.com:xwiki-labs/cryptpad into staging
Yann Flory 10bb5e1607 Add the title in the toolbar
Yann Flory 1e003b13a8 ask anonymous, first-time users to set their name when they first join a pad
yflory 51a79c5218 Remove unused dependency
yflory 9a733bb360 Fix dropdown menus with Edge
yflory 39bbf8a6c1 Fix the new userlist button and make the toolbar responsive
yflory 24fbe22c9d Improve the toolbar style and the way the userlist is displayed
yflory d2389a5729 Change the userlist in the toolbar
yflory 91b4446c0b Merge branch 'fix-chrome-style-bug' into soon
ansuz bb2317d8e6 fix chrome style bug by forcing reload of style sheet
yflory 765498e88e Remove the support for old.cryptpad.fr
yflory c322aa440e Fix the username icon hcih was not working anymore
yflory 8575f3f79f Fix the "rename" feature which was not working anymore in some cases
yflory a989b51d74 Fix race conditions with Alertify
yflory 74df38f94f Fix race conditions that could prevent applications from being loaded
ansuz dbc8f01b8b fix merge errors and reach full jshint compliance
yflory a30e17121d Merge branch 'readonlyButton' into soon
yflory e84a54556c Move the toolbar buttons' events handlers in cryptpad-common
ansuz 2ac1b02572 Merge branch 'config-sockets' into soon
ansuz 3dfa19b786 more flexible websocket configuration (WIP)
yflory 76fdadee7f Store only the strongest hash in the localstorage
yflory 17b4f91810 Do not share the title in the doc if it is the default title
yflory 391728ee6d Use CodeMirror in /slide
Fix title errors in the slide app caused by the present mode
yflory 8c33218ceb Move the codemirror themes in /common
Yann Flory 2609af2105 Use the CodeMirror editor in the slide application
yflory f03018f3bc Improve the top bar and use the font awesome icons in /code
yflory 3d54413343 Improve the UI with FontAwesome icons
ansuz d6525087c7 jshint compliancy
yflory d46bd1af5c Improve the toolbar UI with the username displayed
yflory 79884e2400 Use the same username for all pads
yflory dde519795d Merge branch 'newhash' into newhashNoConflict
ansuz f29e3d7b0d don't let notifications interfere with document titles
yflory 83705ae058 Improve the UI in read-only mode
ansuz fa8199bc75 don't try to use experimental user code
Yann Flory 99b50465c7 Add the read-only mode for /pad and /code
Yann Flory 42f14873cd Merge branch 'translations' into newhashmerge
Yann Flory 391b7690e6 Set the pad to readonly mode when using a 'view' url
Yann Flory 368e253c9f Ability to send a read-only URL
yflory 5c63585952 Complete the French translation
yflory 0d9f63b977 Merge branch 'translations' - part one
yflory f086492e50 Improve the localization system
Improve and enable the French translation
yflory 25c8d16bf5 Use a new version-prefixed hash parser
yflory c736caceba Use a better default pad title
ansuz 97415d8158 Merge branch 'users'
ansuz 8e86be81b2 Merge branch 'better-slides'
ansuz fb21b4e46b fix up /render/
ansuz 4941c1493e better user integration. a few more common utils
ansuz 30ea1b59b7 integrate users into common utilities
ansuz 6d775f61c6 add missing functions
ansuz 168338b898 add missing functions
ansuz f47a6f1cbb Merge branch 'master' of github.com:xwiki-labs/cryptpad
ansuz f40b798d88 Merge pull request from xwiki-labs/reconnect
Ability to reconnect after a connection failure
yflory c168ce2d1c Ability to reconnect after a connection failure
ansuz 1bec02239c coerce dates into strings
ansuz 0add01a940 remove dead code
ansuz 8c914dfe1f better filenames
ansuz 7eaa4ce733 recognize pads with the same type and hash as identical no matter their domain
ansuz 5131f47cca jshint compliance
ansuz 306d524416 fix broken removal call
ansuz dd3a5d47be migrate localStorage so people go to cryptpad.fr
ansuz a094e3c02e use correct store api calls in frame.js
also don't log unnecessarily
ansuz dcc9810a42 avoid extra call to store if there are no keys to remove
ansuz 9a5294016d fix incorrect usage of store api
ansuz 4e5f381325 add spinner to API. update bower deps
ansuz fa654a7646 slightly better regex
ansuz cd18075ac7 add some redirection logic to support old hash types
ansuz 600f3151e9 don't use the store until it's ready to be used
ansuz fffa9acf15 remove unused files from fs and jshintignore
ansuz 551d38c930 let the abstraction take care of stringification
ansuz 0ada6a3d0a jshint compliance. gotta keep those tests green
ansuz 1f24d7126c big ugly commit that will be really hard to audit
This changeset applies new styles to the poll.

it also uses the new asynchronous wrappers around the localStorage api.
this is necessary because we're migrating to a storage system that will
use an async api.

The changes to the poll just happened to coincide with the async stuff.

My apologies to anyone who wants to read this whole thing
ansuz 7f02c899ea add snippet for copying text to the clipboard
ansuz 42eafe9e29 don't create duplicate stylesheets in the document head
ansuz c6bdb7506d forget everything about a pad when you forget it
ansuz e84fbf0bc3 more helpers in common
ansuz ff74a67a09 translate alertify button messages
ansuz d39ab5c250 point to the actual translation file
ansuz dea8e225db fix double scrollbar issue
ansuz 3eccec7054 better effort for translation
ansuz cbeaa8d609 major refactoring for toolbar. CAN HAZ LESS
ansuz 7504f79e05 add log and warn methods to cryptpad common
ansuz 3ad5d71ab1 make sure the regular favicon is set
ansuz fd3cd73d0b try to fix favicon bug
ansuz 589b0087a1 listen for keyup events while alertify prompts are active
ansuz deae7ac78f don't hide the notification until it has been seen
ansuz 3d3c6e4800 add wrappers for alertifyjs
ansuz 73d2b6561a add small modules for page visibility api and notification apis
ansuz d8b467422a fix default title in localStorage migration
ansuz 7a5877d12a don't filter pads after 30 days
ansuz d844551fba add a forget button. clean up toolbar a bit
ansuz 8a82e11306 make sure title is defined for home page usage
ansuz 71b1f71ba0 fix migration to include ctime
ansuz 7da58a0de9 improve pad naming UX, slight refactoring
* prevent naming conflicts
* migrate localestorage to use named attributes
* use ctime and atime
* display default names in table
* sort pads by most recent atime
* move more functions into cryptpad common
* change table styles
ansuz a3da10766a add rename button to /code/ and /pad/
ansuz 93dcf29c15 more functions for working with localstorage
ansuz d025d13295 address some jshint complaints
ansuz 12bbf3e8f6 don't drop values onto the window
ansuz ca45e3533d pass loaded file to callback when importing
ansuz 1a5905d9fd more work on highlighting modes in codemirror
* style the select menu
* add more modes
* preset language selection to 'javascript'
* don't prompt the user with a silly hash when changing their name
ansuz 31aa09d6f6 work a bit more on import/export and code highlighting
ansuz 242c9a99e3 implement import and export in /pad/
ansuz 0a8137e7eb move rememberPad to cryptpad common and simplify it a bit
ansuz c3d2568d3c add file export for codepad
addresses 
ansuz 2b8c21d292 set styles with setAttribute. fixes style fights
ansuz 1746a4e732 use crypto from bower
ansuz 2a3ff256b9 remove libraries which are now in bower
ansuz f72cb24fc5 rm LORIA
ansuz 2c3de49922 remove realtime-input, since it's in bower now
ansuz 2798d1b1f9 all of the list/map api's dependencies are now on bower
ansuz 58c968b319 minor cleanup in realtime-input
ansuz 288b4d5b66 depend on main passing in the crypto module for now
ansuz 85dbd5cb6e pass in websocketURL from main
ansuz d9a4f2f22c missed one
ansuz ff0f7d15dc use json-ot from bower
ansuz 58633af943 listmap can be reused. put it in common/
ansuz dbf1e2b870 support reusing the netflux network
export more internals from realtime input
ansuz 83696495a8 use chainpad from bower, not local
ansuz 954ee26f4d fix undefined disconnect reason
ansuz 9336c4de5c import latest chainpad
ansuz 058548b95a revert my reversion
Revert "Revert "Added checkpoints with the new code from ChainPad""

This reverts commit 6e2e8bf21f.
ansuz 6e2e8bf21f Revert "Added checkpoints with the new code from ChainPad"
This reverts commit da2bfe2de9.
ansuz ce99bd9ba3 Merge branch 'two' of github.com:xwiki-labs/cryptpad into two
ansuz a0c73c95d8 do away with a bit of boilerplate
Caleb James DeLisle da2bfe2de9 Added checkpoints with the new code from ChainPad
ansuz cf85de6113 remove old bencoding code
ansuz d99bb8ff84 WIP : fallback to old parsing doesn't work
ansuz f04be53d11 fall back to old parsing if the message is bencoded?
ansuz 976a08cc7a move to chainpad version 2
ansuz cae750cd75 update padrtc for to use bower libraries
ansuz 7faf57602b implement log level settings from application layer
ansuz 523aff3067 use upstream chainpad.js
ansuz c752e4a6e5 remove sharejs
ansuz 6b2e986789 remove deprecated textsocket library
ansuz 150ebaba7b add ability to force text diffing
ansuz ba17b78f7a restyle name change button
Yann Flory 492054a938 Fix the cursor position when a remote patch is applied
Yann Flory 5bb2e12db2 Merge branch 'beta' into migrate
Yann Flory cc51e6d6ed Update CodeMirror pad to work with Netflux
Caleb James DeLisle 3b6fe44378 Merge branch 'beta' of github.com:xwiki-labs/cryptpad into beta
Yann Flory 85d5f5c47f Convert netflux to es5
Caleb James DeLisle 5f16ad4a58 Update to most recent chainpad
ansuz aa07dd31ee have json-ot initialize its own debug module, instead of relying on a window variable's existence
Yann Flory d3203d1c2a Remove Crypto from the modules loaded with RequireJS in realtime-input
It now has to be passed in the config in the main JS file
Yann Flory 8ac69ca262 Add a missing "time" property in the netflux client causing incorrect
timeout errors
ansuz b140b6429d remove a little bit of dead code
ansuz bbdc9da853 delete duplicated file
ansuz 5f4825f3a0 don't change the hash from realtime input
let applications handle that logic
ansuz 4f426651ad remove TextPatcher from RealtimeTextSocket
ansuz 02ff1a63a4 Merge branch 'netflux' into beta
Conflicts:
	www/assert/main.js
ansuz a18c793f98 use latest hyperjson
ansuz 9efcc443cd add 'format' to TextPatcher's API
ansuz 0769e50414 move TextPatcher to highest application layer
ansuz 1d70335228 provide all callbacks before starting
ansuz a3787ee4dc Merge branch 'netflux' into beta
ansuz 010566d3c3 pushDelta was mistakenly deprecated. restored.
ansuz 3598c93098 move new hyperjson into common
ansuz 103bb69daa move custom hyperscript into common
ansuz b83fb7b823 improve brFix logic
stop exporting functions which we wish to deprecate
ansuz cb979844f6 implement text patching at application layer
ansuz 4a41575e6d accept onLocal in config
ansuz d3c2c901b6 implement cursor transformation in a common library
ansuz 92d89f6cac start to factor sharejs into two modules
ansuz 13dc77b7f6 remove commented line
ansuz 41e635b2e5 realtime-input.js : turn on logging
Yann Flory 69e8e18283 Remove the pipe character in the hash
ansuz d62e9fc1c9 add a missing semicolon
Yann Flory c32045d7d0 Fix an issue with missing characters when several users were typing at the same time
Yann Flory be09a1808d Remove old code from realtime-input
Yann Flory 6884b0890a Fix the typong tests not working properly
Yann Flory e207d8b579 Merge branch 'diffdom' into netflux
ansuz f4c5b2a996 Add sane defaults to TextPatcher diffs
ansuz 259772dd62 Turn on TextPatcher logging for _socket
ansuz 0537c28919 Add switchable logging to TextPatcher.js
Caleb James DeLisle 8a36963582 Enable ChainPad PARANOIA mode but remove the part which causes most slowness
ansuz 19cd991dba trim dead code, comment, very minor optimizations
ansuz 9f45ccb2d9 use console.error for stack traces
ansuz 368d72b337 add missing semicolons to TextPatcher.js
ansuz 851ccfbdb6 detect falsey operations in OT and ignore them
ansuz 400f6efde1 json-ot.js : jshint compliance
ansuz ca94d30386 detect falsey operations in OT and ignore them
ansuz 9f9cd8d8cd realtime-input.js : fixes for jshint compliance
ansuz 793149a608 json-ot.js : jshint compliance
ansuz 06a3b63923 jshint compliance for toolbar.js
ansuz 5cead3fad3 add missing semicolons to TextPatcher.js
ansuz 94e57e4a26 update location of text-patcher.js
ansuz b37dab1f49 Merge branch 'diffdom' into netflux
Simple cleanup and unit tests
ansuz 6b9d982d40 stabilize _socket/realtime-input.js
...as common/RealtimeTextSocket.js
ansuz 39071021eb stabilize typingTest.js as /common/TypingTests.js
ansuz 9805958ad7 stabilize text-patcher.js into /common/TextPatcher.js
ansuz 7782069dbd Merge pull request from xwiki-labs/diffdom
merge diffdom into netflux
ansuz a1f9b10175 remove offending line from chainpad entirely
RTCHAINPAD-3
ansuz 4ba68eb2bf fix leaky variable in chainpad
Patch.transform declared a 'toTransform' variable without using 'var'
this caused it to leak onto the window during operational transformations
ansuz 05108efdfa correct chainpad's transformation function
addresses RTCHAINPAD-3

Pending further testing, this change will still need
to be corrected in https://github.com/xwiki-contrib/chainpad/
Yann Flory 713c90242b Hide the usernames when they have not been changed
Yann Flory 0b3d6e15b8 Replace the Netflux old client (netflux.js) by the Netflux2 client.
Move the WebRTC peer-to-peer use case in /padrtc, which still uses the old
Netflux client
Use es6-promises.min.js to solve a issue with some browser and the new
Netflux client
Yann Flory cf9f60bd57 The server don't send back anymore messages to their sender
Yann Flory eb4ea7a6b0 Remove the content from the ACK messages sent by the server
Yann Flory ba4faea939 Update the pads to run with the latest improvements to the websocket server
Yann Flory 5ef7e29a9b Add the latest changes from _socket into the netflux pad
ansuz b59a14c5ac merge hyperjson changes from realtime xwiki
more resilient class serialization.
comments
Yann Flory b41f0e8c50 Merge branch 'cjd-fixed-it-with-hax' into netflux2
ansuz c50690349b comments describing the role of each argument
ansuz 96e03fcfa4 Use latest chainpad without mutations
ansuz d5772c6315 when json-ot produces json that fails to parse...
export the relevant data to a window variable so we can inspect it better
ansuz 6c340a6527 chainpad testing = true, reject non-compliant messages
ansuz afa1104d85 Pull the cursor out of bogus BR tarpits when it gets stuck
ansuz bac0e0ff88 implement hyperjson filtering
ansuz 478ccbf984 revert changes to chainpad
Caleb James DeLisle b372b0b77c small change to chainpad in order to make it more likely to fail if the authDoc goes into the wrong state
Caleb James DeLisle 98c85cef8b xxx
Caleb James DeLisle 62eabbc7ae If a message does not match parent hash, don't delete it from storage
Caleb James DeLisle dbf31798d5 json-ot triggering PARANOIA errors in ChainPad
Caleb James DeLisle 03932d0169 small changes to chainpad for testing
Caleb James DeLisle 420a7098a6 more testing and crap
ansuz e066730b68 add notes about how hyperjson is to be used
ansuz c047d5310f implement optional filtering in hyperjson
Implemented via callback, return falsey if you want to filter an element
and all of its children from the serialized result.

Conflicts:
	www/common/convert.js
ansuz 0d33af773f implement optional filtering in hyperjson
Implemented via callback, return falsey if you want to filter an element
and all of its children from the serialized result.
ansuz 475ca9bea8 hyperjson.js : used split instead of filter... oops
ansuz 1bd5cb9e27 hyperjson.js : used split instead of filter... oops
ansuz b2753ef7b7 fix string manipulation off-by-one
ansuz f98fda7604 fix string manipulation off-by-one
ansuz 4f3fcb08a4 better error reporting when the operational transform fails to parse JSON
ansuz 0ff4906f0e implement better serialization of class names
RTWYSIWYG-27 : poorly formed yet valid HTML caused hyperjson to produce element
               selectors which hyperscript could not parse.
ansuz fbe6225681 Don't attempt to use the cursor selection when it has length 0
RTWYSIWYG-20
RTWYSIWYG-24
ansuz 0c6222b5f9 better error reporting when the operational transform fails to parse JSON
ansuz 79a9998b13 implement better serialization of class names
RTWYSIWYG-27 : poorly formed yet valid HTML caused hyperjson to produce element
               selectors which hyperscript could not parse.
ansuz bd24821c6c Don't attempt to use the cursor selection when it has length 0
RTWYSIWYG-20
RTWYSIWYG-24
Yann Flory 38d797a4f1 Fix issue with Chrome and WebRTC
Yann Flory 7237c751d5 Move 'vdom' to the main 'pad'.
Hide the right-hand panel (can de bisplayed with a 'debug' button)
Hide the IDs of users if they don't change their name
Yann Flory e77d85bc82 Trigger an onReady() method when the user's pad is fully synced (the history is loaded)
Yann Flory eca4ec699c Ability to change the username (the user ID is displayed by default)
Yann Flory 6e50ae94dd Remove unused code
Yann Flory 5da8560e22 Fix the user list in the toolbar keeping old data with the WebSocket server
Chainpad is no longer responsible for the userlist or the ping
Yann Flory 3a188625e0 Improve the detection of a disconnected peer to update the user list with the WebRTC service
Yann Flory 77e7fb5724 Fix an issue with the WebRTC service where it was impossible to join a channel once someone had left this channel
Yann Flory 06e5c84702 Clean some code
Yann Flory b1e8bcddef Fix the user list not working with the WebRTC service and causing major issues
Yann Flory c576241104 Add a Chainpad adapter to make Chainpad know the userList
Yann Flory ae8f6f7f2c Ability to choose which protocol to use (Websocket or WebRTC) with Netflux
Yann Flory b7885eb539 Fix channel history
ansuz 8258018c1d Revert "fix undefined reference"
This reverts commit 7d65540123.

To restore functionality in convert.js
ansuz c67451bc1a Revert "remove broken functions from convert module"
Because I forgot that the /render/ page was still using vdom

This reverts commit 93fb944e1f.
Yann Flory c536ecbc1c Temp commit
Yann Flory 870b2dbb7e Add the WebRTC server in Cryptpad
Yann Flory c4f62fb812 First try with WebRTC
Yann Flory 09a06a8bc5 Replace the chainpad server by the netflux server
Yann Flory 60c3aceb0d Add chatflux server
Yann Flory deb2084fc5 Add the socket connection checker
ansuz d3e2a2f52e make verbose logging switchable via a conditional
ansuz fefb904261 realtime input changes
ansuz fd99dba4a3 modify realtime-input api to take a single object as configuration. merge netflux API
Yann Flory 62ba579d4a Add Netflux API with WebSocket service V1
ansuz d7b34cf6be don't call toolbar from within realtime-input.js
ansuz 5e1566eaec fix incomplete 'onAbort' block
ansuz 1d6ccc99a1 add 'onAbort' hook to realtime-input.js
ansuz 6ff5b10486 remove local diffDOM version
ansuz 93fb944e1f remove broken functions from convert module
ansuz 7d65540123 fix undefined reference
ansuz 6884fabda9 Use local diffDOM instead of bower_components
At least until the PR gets accepted
ansuz f5a8727254 remove some unused functions from cursor.js
ansuz db1515c445 cursor.js : commit before cleaning up
ansuz 91ada5ce7a export Operation from chainpad. for use with OT
ansuz 5425699f43 check if possible parent exists before checking if it contains another element
ansuz 67bdb8a65a fix a bad regex that occasionally threw an error
'nothing to repeat'
ansuz 39f56d4fd1 throw error when checking for the index of a node that has no parent.
it probably isn't in the dom if this is the case.
Check if it's there before using this function
ansuz de46be85ba add better helpers for finding and resetting the cursor
ansuz c09036bd29 snapshot cursor.js, as some things are working quite well now
ansuz 4eee1f5210 add orderOfNodes function to tree library
ansuz 7689151fc0 pull json validation for OT into its own module for reuse
ansuz 2c8a2406c6 cursor.js : snapshot before code deletion
ansuz 1beb3f5355 snapshot of treesome.js before deletion
ansuz 8ead5ca129 realtime-input.js : add notes regarding integration of the netflux api
ansuz d1885fbab6 better jshint compliance for common files
ansuz 539cc3a2fa remove unused files from common directory
ansuz afa2811472 remove local version of marked.js, prefer bower version
ansuz a600ece5c5 fix jshint complaints in common directory
ansuz 2c5a2b6023 remove unused code, add todos, fix minor errors
ansuz 967d636df9 address more jshint complaints
ansuz f6c848385f hyperjson.js : jshint complains about var index in for loop
ansuz 7f92abc7bf Merge branch 'diffdom' of github.com:xwiki-labs/cryptpad into demoEffect
Caleb James DeLisle 86c4a69a97 Switch to patching with DiffDOM for testing :D
ansuz 653ba33b65 Merge branch 'vdom' of github.com:xwiki-labs/cryptpad into demoEffect
Caleb James DeLisle 2031191261 testing=false
Caleb James DeLisle 37db31b09e Attempt an operational transformation and if the result is not valid JSON then fail
ansuz c22269e36e cursor.js : make the console a little less noisy
ansuz 99a23154b7 files for unstubbing OT
ansuz c740c0ec92 add stuff for walking the tree
ansuz ad184b1114 add stuff to recover the cursor
ansuz 019750bea8 realtime-input.js : callback onInit if exists
ansuz 7102a0a164 make rainbows
ansuz d2f6c63d8a realtime-input.js : changed the api and left an undefined reference. fixed
ansuz d96124229b clean up realtime-input.js, break API
use an object for configuration, so as to be more extensible.
modify applications which use the API to match.
ansuz ed03a48092 minor patches that make things a bit more reliable, still some bugs
ansuz ac0f7852fc committing latest changes for review
ansuz 2016550e01 virtual-dom.js : identify problem area?
ansuz fd1e5d5735 better styling on render page
now solarized dark
ansuz b18dfef656 sharejs textarea is used by realtime-input.js
ansuz 997ce1147f realtime input wraps up basic realtime stuff
so we don't have to rewrite the realtime api for every application.
starting to move towards a portable api :D
ansuz 40b8c0efe8 drop in chjj's marked.js for a cool demo
ansuz 0c2e057f9d export component APIs from convert
ansuz b958caebdd dom, vdom, hyperjson, and an api which provides a matrix of conversions
ansuz 2ed9f0867a Merge branch 'master' of github.com:xwiki-labs/cryptpad into codepad
ansuz ff52f050e5 chainpad.js : pull in upstream changes to chainpad.js. new APIs
ansuz 9fc44cdf0c add notes to clientside js files
Yann Flory 9a932a3f56 Patch Realtime into CodeMirror in CryptPad
Caleb James DeLisle 88fb6772e8 Cleaned up the front page and added a little piece of code to show recent pads
Caleb James DeLisle 51544db9a2 Completed adding of customization system and bottom infobar
Caleb James DeLisle 0e44b10aeb Seperated common crypto operations to common file and made common toolbar used for both pad and spreadsheet
Caleb James DeLisle e039e90a24 upgrade to most recent chainpad
Caleb James DeLisle 50c10f818e Added cryptsheet to cryptpad suite!