Commit Graph

202 Commits (d92bf388b1c553ecd6bfb2a7400b990dcafe9c54)

Author SHA1 Message Date
Daniel Kesselberg af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +07:00
Jonas 1671bf3ef2
feat(Reference): Add public API endpoints to get references
Calling the public API endpoints will check for matching registered
reference providers that implement `IPublicReferenceProvider` and call
their respective functions. If no matching provider is found, the
default `LinkReferenceProvider` will be used to provide open graph data.

The frontend reference widget components will call these endpoints from
unauthorized sessions, e.g. in public shares.

If present, the sharing token of the origin URL is passed to
`resolveReferencePublic()` as additional information for the reference
provider to determine the access scope. This allows the respective
reference providers to determine whether the origin share has access to
the linked resource.

`getCacheKeyPublic` also gets the sharing token so it can scope the cached
entry to it.

Contributes to #45978

Signed-off-by: Jonas <jonas@freesources.org>
2024-07-17 12:56:41 +07:00
Joas Schilling 280d70a5f4
fix(federation): Fix missing protocol on CloudID remote
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-06-27 11:26:08 +07:00
Andy Scherzinger dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +07:00
Côme Chilliet ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +07:00
Julius Härtl 972a611288
fix: Avoid clear cache with prefix
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-03-08 09:08:43 +07:00
Robin Appelman e7a7b4a401 perf: switch places that always use the first getById result to getFirstNodeById
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-04 13:57:31 +07:00
Claus-Justus Heine 493333036b fix(collaboration): collaboration MailPlugin: Protect access to a potentially missing array component by ??.
Signed-off-by: Claus-Justus Heine <himself@claus-justus-heine.de>
2024-02-27 17:50:51 +07:00
Anupam Kumar 7329b83f92
feat: Migrate LinkReferenceProvider to OCP
This would be useful to eleminate the need for using this OC class
when an app dev wants to implement a custom reference provider
for the web client but wants to fall back on opengraph for mobile
clients.

Signed-off-by: Anupam Kumar <kyteinsky@gmail.com>
2024-02-14 18:22:19 +07:00
Baptiste Fotia 9af96d9f9a feat(php,vue): Create a new parameter
Signed-off-by: Baptiste Fotia <fotia.baptiste@hotmail.com>
2024-01-31 10:44:40 +07:00
Joas Schilling aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +07:00
Faraz Samapoor a304ba5b5a Refactors lib/private/Collaboration.
Mainly using PHP8's constructor property promotion.

Signed-off-by: Faraz Samapoor <f.samapoor@gmail.com>
2023-10-03 09:17:10 +07:00
Faraz Samapoor 14ad1e9219 Adds type hint to the method parameter.
Co-authored-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-09-21 11:28:02 +07:00
Faraz Samapoor 6427863443 Refactors lib/private/Collaboration.
Mainly using PHP8's constructor property promotion.

Signed-off-by: Faraz Samapoor <fsa@adlas.at>
2023-09-21 11:28:02 +07:00
Joas Schilling 0c5d0c2127
fix: Migrate collaboration listener and remove legacy adapter
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-28 14:11:21 +07:00
Joas Schilling ad12a740cb
fix!: Remove symfony EventDispatcherInterface from User
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-07-27 23:13:37 +07:00
Christoph Wurst 14719110b9 chore: Replace \OC::$server->query with \OCP\Server::get in /lib
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2023-07-06 15:21:22 +07:00
Julien Veyssier 3621a6b4ec avoid requests to opengraph image if no host detected
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-06-09 10:37:58 +07:00
Faraz Samapoor e7cc7653b8 Refactors "strpos" calls in lib/private to improve code readability.
Signed-off-by: Faraz Samapoor <fsamapoor@gmail.com>
2023-05-15 15:17:19 +07:00
Côme Chilliet 426c0341ff
Use typed version of IConfig::getSystemValue as much as possible
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-04-05 12:50:08 +07:00
jld3103 02f9c3a06f
Use implementations instead of interfaces for accessing private methods
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-03-30 12:33:46 +07:00
Julius Härtl b6d1154260
fix(references): Do not log errors on 404 responses of opengraph image fetching
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-13 18:18:04 +07:00
Julius Härtl 6130f1a78e
Implement file reference wiget
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-03-02 21:01:44 +07:00
Julien Veyssier 4ef2b27a47
safer URL match in FileReferenceProvider
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-02-09 14:33:19 +07:00
Louis 2f3007205d
Merge pull request #35160 from nextcloud/artonge/feat/version_naming_backend
Allow to name a version
2023-01-30 10:40:49 +07:00
Julius Härtl 81c2122ff8
style: Fix php-cs and psalm
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2023-01-27 11:10:56 +07:00
Julien Veyssier 0e6d5f8240
improve getUserProviderTimestamps
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-27 11:10:56 +07:00
Julien Veyssier b22d4e6306
use array_filter instead of array_map + array_search
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-27 11:10:56 +07:00
Julien Veyssier 8766e4f242
handle and return touchProvider errors
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-27 11:10:56 +07:00
Julien Veyssier 946a1af9fd
add 'last used timestamp' management for reference providers
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-27 11:10:56 +07:00
Julien Veyssier 6431c5a559
extend the reference API for the new link picker
- add 2 interfaces for discoverable and searchable reference providers
- new OCS route to get info on discoverable/searchable reference providers
- new abstract ADiscoverableReferenceProvider that only implements jsonSerialize
- listen to RenderReferenceEvent to inject provider list with initial state

Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-27 11:10:55 +07:00
Louis Chemineau 53d736207c Adapt files_versions tests to modernized hooks
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-01-26 10:12:23 +07:00
Joas Schilling f565cacaf3
Fix double where() usage in resource manager
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-01-23 08:48:01 +07:00
Côme Chilliet f5c361cf44
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +07:00
Julien Veyssier f0589523c8
improve link reference content-type check, accept 'text/html;*'
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-10 16:17:52 +07:00
Julien Veyssier b07adddf39
in the link reference provider, check if the link content type begins with text/html
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-09 11:08:56 +07:00
Julien Veyssier 552611d341
add restrictions on content-type and content-size when downloading to resolve with opengraph link provider
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
2023-01-05 12:36:11 +07:00
Joas Schilling 269df904a3
Improve email search results
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-12-09 22:40:47 +07:00
Julien Veyssier 3c86afcce4
File reference: use the file type icon as fallback when no preview provider for this type
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-10-06 01:04:19 +07:00
Anna Larch 88b0aea2b0 Add fallback options for contacts array
when the UID or FN is null, the email address / dsiplay name will be used instead

Signed-off-by: Anna Larch <anna@nextcloud.com>
2022-10-01 22:47:58 +07:00
Julius Härtl f69151e626
Move Reference class to public namespace
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-26 10:04:28 +07:00
Julius Härtl 1ab66988bc
Inject all dependnencies and increase cache timeout
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 18:02:57 +07:00
Julius Härtl 80f6a5834a
Refactor cache handling
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:24:35 +07:00
Julius Härtl a392235e23
Cleanup
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:24:33 +07:00
Julius Härtl bee8fd2408
Limit preview file size
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:20:07 +07:00
Julius Härtl 68d0038eb0
Move registration to IBootstrap
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:20:06 +07:00
Julius Härtl eaef5687f9
Add full public interfaces
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:20:06 +07:00
Julius Härtl 0ce0d37ac1
Implement image caching
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:20:06 +07:00
Julius Härtl f58218deea
Add cache invalidation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:20:06 +07:00
Julius Härtl 31be855522
Implement reference provider based caching
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-08-31 16:20:06 +07:00