Граф коммитов

212 Коммитов

Автор SHA1 Сообщение Дата
Julius Härtl 6cca6b1aa5
Keep session information as long as we need it for steps
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-01-13 19:34:02 +01:00
Christoph Wurst 5d8d0c73a9
Fix dbal types
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-01-08 15:21:16 +01:00
Roeland Jago Douma edbd604ebc
Fix PHP-CS
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-29 15:24:00 +01:00
Roeland Jago Douma b4963f7134
Use to correct cache to obtain version info
* The documentservice writes to the text prefix. Not the textSession
  prefix. Hence we never found any of the cache entries. Thus always
  doing all the work.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-12-17 12:41:13 +01:00
Julius Härtl a72e87e16d
Properly cleanup sessions when resetting a document
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-02 15:26:50 +01:00
Julius Härtl de706b4398
Catch possible database exceptions when fetching document data
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-02 15:26:50 +01:00
Joas Schilling ac2e356182 Fix typo of class name 2020-11-17 06:00:00 +00:00
Julius Härtl 8017dbb577
Add migration to fix oracle issues with the database schema
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-11-16 13:58:05 +01:00
Julius Härtl 5deeb5c61a
Do not setup appdata in constructor to avoid errors causing the whole instance to stop
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-10-01 08:20:08 +02:00
Julius Härtl 9b068d180f
Merge pull request #1026 from nextcloud/fix/1005/refresh_only_once_every_30_s 2020-09-08 16:31:12 +02:00
Roeland Jago Douma 7e30b25ec0
Refresh lastContact only once every 30 seconds
Improvements for #1005
Just storing this less often should be a bit easier on the database.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-07 15:05:14 +02:00
Roeland Jago Douma 5b8cbb9a52
Sessionid is an int
With the extra memcache check now this could cause issues otherwise.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-07 14:30:06 +02:00
Julius Härtl 70d7b3d6d5
Merge pull request #1014 from nextcloud/harden/memcachetokenfetching
Harden check when using token from memcache
2020-09-07 07:36:56 +02:00
Roeland Jago Douma 3d608de733
Harden read only check on public endpoints
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-06 20:54:03 +02:00
Roeland Jago Douma 57ab100044
Harden check when using token from memcache
Explicitly comparing never hurt anybody.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-09-05 10:55:09 +02:00
Julius Härtl 611fc9b701
Use proper event for loading scripts on public share links
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-09-04 09:36:33 +02:00
dassio da600dc39b do not return rich workspace when depth=0
Signed-off-by: dassio <dassio@icloud.com>
2020-08-31 15:35:41 +01:00
Julius Härtl 249730db58
Catch StorageNotAvailable exceptions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-08-28 13:34:37 +02:00
Morris Jobke 8f90092f2a
Remove unneeded dependencies
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-13 22:17:59 +02:00
Julius Härtl 7a90be554c
Also load files app scripts when user is logged in
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-13 16:12:04 +02:00
Julius Härtl ef689e8812
Use the new additional scripts event
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-07-13 16:11:38 +02:00
Morris Jobke 759d6799bc
Use IBootstrap for the app bootstrap
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2020-07-10 07:58:40 +02:00
Roeland Jago Douma 223a265b2e
Log the exceptions as INFO
There is no need to log them as ERROR

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-07-02 15:51:58 +02:00
Azul 9b413af673 fix: path for workspaces
We need the relative path inside a users home directory
to fetch the folder content for the filepicker.

$file->getPath() gets the absolute path
including username and files.

Signed-off-by: Azul <azul@riseup.net>
2020-06-22 09:40:40 +02:00
Julius Härtl f5cfa9abe6
Merge pull request #871 from nextcloud/bugfix/851
Perform file conflict check earlier so that it also triggers when not saving
2020-06-16 10:03:00 +02:00
Julius Härtl a4261e80b0
Pass path to rich workspaces
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-06-15 12:35:03 +02:00
Julius Härtl ff1328a695
Perform file conflict check earlier so that it also triggers when not saving
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-06-15 10:28:18 +02:00
Julius Härtl 7d6569cdf4
Return early when iterating over supported filenames
This fixes multiple files showing up on case-insensitive filenames as otherwise
the IFolder::get call creates multiple entries in the filecache for the same file

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-05-19 22:24:13 +02:00
Daniel Calviño Sánchez 1061537667 Enable Text to be used by Viewer outside Files app
Since Nextcloud 18.0.4 the Files app triggers the "LoadViewer" event, so
that event can be used to register Text with Viewer instead of doing it
through the "OCA\Files::loadAdditionalScripts" event.

Besides being more correct for the Files app it also makes possible to
use Text when opening files through Viewer in other apps, like Talk.

Note, however, that in public share pages Text is still opened using the
fallback actions instead of through Viewer, as Viewer currently does not
provide the share token of the public shared folder that contains the
file to be opened.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-04-20 15:06:47 +02:00
Julius Härtl 27c3f161f5
Merge pull request #761 from nextcloud/enh/session_memcache
Cache the session info in memcache
2020-04-07 20:09:21 +02:00
Roeland Jago Douma ae7fc42fe2
Cache the session info in memcache
This should reduce the number of queries to the DB. Esp when editing a
file with a lot of people this can really add up.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-04-07 14:51:21 +02:00
Julius Härtl 9691def7bc
Merge pull request #748 from nextcloud/bugfix/noid/rich-workspace-dav-available
Only return 404 for workspace property if it is not avilable
2020-04-07 13:11:25 +02:00
Julius Härtl 38a2dad5b6
Merge pull request #749 from nextcloud/bugfix/noid/translatable-readme
Use full list of supported filenames when obtaining the name to create
2020-04-03 09:41:55 +02:00
Julius Härtl 732da03d72
Use full list of supported filenames when obtaining the name to create
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-04-02 20:24:04 +02:00
Julius Härtl 858e412f62
Only return 404 for workspace property if it is not avilable
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-04-02 20:07:37 +02:00
Julius Härtl b533d449fb
Merge pull request #743 from nextcloud/bugfix/direct-editing-txt
Offer txt editing by default
2020-04-02 17:20:23 +02:00
Roeland Jago Douma d2a8ab5f3f
Add index on the oc_text_sessions table
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-04-02 10:39:24 +02:00
Julius Härtl bb9de8f1ad
Offer txt editing by default
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-30 13:16:56 +02:00
Julius Härtl ffb417c4bf
Expose workspace_available on public shares
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-03-25 21:38:26 +01:00
Daniel Calviño Sánchez ba44d7b587
Send parent folder permissions along with workspace file metadata
The folder permissions are sent even if there is no workspace file for
the folder. This will make possible to disable the rich workspaces UI if
creating files is not enabled in a folder.

Rich workspaces are disabled for public share pages, so the folder
permissions are not sent in that case.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-03-25 21:38:26 +01:00
Julius Härtl 2ae22bba50
Use ILockingProvider
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-02-04 20:34:29 +01:00
Julius Härtl 478760aaeb
Add occ command to restore documents to their last saved state
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-02-04 20:17:01 +01:00
Julius Härtl de537819d5
Filter out duplicate version steps
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-02-04 19:13:50 +01:00
Julius Härtl 5fa28fc23a
Fetch steps sorted by version and id
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-02-04 19:13:50 +01:00
Julius Härtl 4f1d466de8
WIP: mitigate race condition when saving steps
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-02-04 19:13:49 +01:00
Julius Härtl 252296e15e
Merge pull request #608 from nextcloud/bugfix/ui-var
UI fixes for public share links
2020-01-28 20:24:22 +01:00
Roeland Jago Douma 74117d916e
Catch the exception when a user no longer exists
Else this could result in a lot of log spam.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-27 13:12:25 +01:00
Julius Härtl 92df34121d
Use string as a filename
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-27 12:54:46 +01:00
Julius Härtl cb70e3aaa4
Rename document creator (fixes #599)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-24 12:51:15 +01:00
Julius Härtl 3f039ba999
Use a proper value for checking if workspaces are available
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-21 09:59:38 +01:00
Julius Härtl d9555335e2 Fix editing plain text files with direct editing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-16 12:09:04 +01:00
Julius Härtl 936225d69d
Do not try obtaining the file by id when a share link is used
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-14 15:24:08 +01:00
Julius Härtl 7218cdc2f6
Properly handle file deletion and temporary service unavailability
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-01-09 18:51:36 +01:00
Christoph Wurst 43c0277375
Fix calling setLastContact on boolean
Fixes https://sentry.io/share/issue/e2f18ccec8ea44cf8cfe1dbfa703c802/

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-09 11:37:32 +01:00
Julius Härtl 7f423caf8c
DoumentId should be a string when using as a filename
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-20 14:30:15 +01:00
Julius Härtl f73faa70cd
Remove dot from direct editing file extension
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-17 08:00:09 +01:00
Julius Härtl 61297bdd83
Use file path instead of folder for direct workspace opening
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-16 15:53:04 +01:00
Roeland Jago Douma 9002e73e03
Merge pull request #451 from nextcloud/bugfix/noid/use-filepath
Use file path to obtain workspace direct editing links
2019-12-11 11:17:35 +01:00
Daniel Kesselberg e28117bd46 Fix Undefined variable: initialStateService
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2019-12-07 22:23:13 +01:00
Julius Härtl d40f1b8437
Fix public share links
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-06 15:02:50 +01:00
Julius Härtl 797e29ccf9
Persist setting for rich workspace
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-06 14:09:18 +01:00
Julius Härtl 561f24933a
Use file path to obtain workspace direct editing links
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-04 18:53:46 +01:00
Julius Härtl 6a3b6018d2
Use DI for direct editing token handling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-02 12:28:31 +01:00
Julius Härtl c87396aa85
Remove template creator
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-02 12:28:31 +01:00
Julius Härtl c1e009c77b
Move to POST
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-02 12:28:31 +01:00
Julius Härtl 9d645c8010
Add mimetype to creators
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-02 12:28:31 +01:00
Julius Härtl 1e5f5e3ff0
Fix undefined variable
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-02 12:28:31 +01:00
Julius Härtl a6bd99213f
Add direct editing endpoint for workspaces
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-02 12:28:30 +01:00
Julius Härtl baa11f4063
Start with direct editing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-12-02 12:28:30 +01:00
Julius Härtl da1ef87690
Use translatable readme.md name
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-18 14:08:05 +01:00
Julius Härtl d9e5efbf47
Add dav plugin for rich workspaces
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-18 12:44:40 +01:00
Julius Härtl 45490a60c0
Add workspace route and public page handling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-11-04 19:35:11 +01:00
ovk 4a56df9061 Reduce 'Removed X inactive sessions' severity to debug
Signed-off-by: ovk <koshelnikov@gmail.com>
2019-10-23 20:40:27 -04:00
Roeland Jago Douma b63d8b35e7
Throw proper NotFoundException if a file is not found by id
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-10-03 15:35:59 +02:00
Julius Härtl f200199926
Fix version checks
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-08-07 10:11:51 +02:00
Julius Härtl db39d359d9
Adjust autosave delay
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2019-08-06 10:05:46 +02:00
Julius Härtl e9e09b82b9
Reconnect after session has timed out
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-07-10 16:11:40 +02:00
Julius Härtl 28460e01b2
Force proper step order
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-07-09 08:20:10 +02:00
Julius Härtl c9a87cc9bb
Make autosave exclusive and avoid conflict during save
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-26 14:04:43 +02:00
Julius Härtl 4df80a3fa3
Ignore locking exceptions on autosave
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-26 12:40:05 +02:00
Julius Härtl d4a82113a0
Implement public folder editing (fixes #29)
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-21 14:46:27 +02:00
Julius Härtl a88d4e77c4
Harden sync method and catch LockedException
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-21 13:22:09 +02:00
Julius Härtl 9522d31e9d
Sync documents before handling conflicts
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-21 12:50:40 +02:00
Julius Härtl 3067a8b33a
Only cleanup documents without sessions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-21 12:46:52 +02:00
Julius Härtl 1587d53855
Hide avatar list in popover
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-21 12:16:00 +02:00
Julius Härtl d4f96b7ef0
Use constant for timed job
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-17 23:27:35 +02:00
Julius Härtl da4be5e6d5
Add background job to cleanup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-17 23:10:26 +02:00
Julius Härtl 91f8e8a88d
Some code cleanup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-17 22:09:14 +02:00
Julius Härtl 106190fdce
Move to migration
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-17 21:04:46 +02:00
Julius Härtl 70207bea3c
Remove obsolete TODO
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-17 20:40:26 +02:00
Julius Härtl e099f1fa9f
Add copyright header
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-17 18:41:49 +02:00
Julius Härtl 51ab3a78ac
Cleanup appinfo and css
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-17 12:49:31 +02:00
Julius Härtl d392585407
Implement guest name change
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-15 10:14:01 +02:00
Julius Härtl 1583a50c26
Make sure we have initialVersion in our document response
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-12 18:28:06 +02:00
Julius Härtl 8d95a0346a
Improve polling and add checks for read only
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-12 17:19:35 +02:00
Julius Härtl 6824232ab2
Cleanup sessions/steps when no session are active anymore
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-12 14:32:42 +02:00
Julius Härtl 50ca56629f
Some step sanitizing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-11 19:54:28 +02:00
Julius Härtl 3f5169c9c2
Implement guestName for public shares
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-07 12:04:56 +02:00
Julius Härtl efc373373d
Properly check for write permissions
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-06 16:28:15 +02:00
Julius Härtl 66ae668cd0
Fix conflict handling in tiptap
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-06-06 16:01:18 +02:00
Julius Härtl deb2d346d8
Session cleanup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-22 23:09:57 +02:00
Julius Härtl 7b1652351c
Remove modal mask limit
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-14 15:50:55 +02:00
Julius Härtl fe6272f411
Add public endpoints
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-14 09:34:30 +02:00
Julius Härtl fd1e342338
Add support for public shared files to the frontend
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-14 09:33:45 +02:00
Julius Härtl f160a6af71
Fetch steps incrementally
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-09 14:23:08 +02:00
Julius Härtl 724d629855
Set document version before saving steps to avoid race condition
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-08 17:44:39 +02:00
Julius Härtl d24b3fadb4
Proper conflict handling in the backend
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-08 17:44:09 +02:00
Julius Härtl 66df4652bb
Proper debouncing and saving
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-05-06 21:24:18 +02:00
Julius Härtl 5174b0c4a3
Move prosemirror view creation to vue component and improve polling mechanism
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-04-29 16:35:00 +02:00
Julius Härtl 2660b7fee5
Add first file handling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-04-23 12:00:59 +02:00
Julius Härtl 1bdb0ff3ea
Add first working version of collaborative editing
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-04-13 20:28:28 +02:00
Julius Härtl 66adbbbe65
Add basic app structure
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2019-03-18 17:15:31 +01:00