Commit graph

210 commits

Author SHA1 Message Date
Robert Swain 5b3f91057c mediaapi: Add notes to README about resizers 2017-06-06 03:02:27 +02:00
Robert Swain 08339d9682 travis: Don't install libvips-dev via ppa 2017-06-06 02:53:09 +02:00
Robert Swain 1aa9bab6d6 mediaapi/thumbnailer: Add nfnt/resize thumbnailer 2017-06-06 02:50:25 +02:00
Robert Swain 149ab824b3 vendor: Add github.com/nfnt/resize pure go image scaler 2017-06-06 02:49:35 +02:00
Robert Swain 0816031fa6 mediaapi/thumbnailer: Split bimg code into separate file 2017-06-06 01:33:07 +02:00
Robert Swain d40f54dc9d mediaapi/thumbnailer: Limit number of parallel generators
Fall back to selecting from already-/pre-generated thumbnails or serving
the original.
2017-06-06 00:49:15 +02:00
Robert Swain 4afc4bd3eb Merge branch 'master' into rob/media-thumbnail 2017-06-06 00:35:41 +02:00
Robert Swain 9a67ea746d mediaapi/thumbnailer: Use math.Inf() for max aspect and size 2017-06-05 17:08:16 +02:00
Robert Swain 2cd886656f mediaapi/thumbnailer: Rename metrics to fitness
Metrics is used in the context of monitoring with Prometheus so renaming
to avoid confusion.
2017-06-05 16:47:08 +02:00
Robert Swain 7af3bdf04a mediaapi: Simplify logging of thumbnail properties 2017-06-05 16:43:16 +02:00
Robert Swain 2825b4143b mediaapi/thumbnailer: Make comparison code more readable 2017-06-05 16:23:07 +02:00
Robert Swain def49400bc cmd/client-api-proxy: Add proxy for media API (#133) 2017-06-05 15:55:04 +02:00
Mark Haines 721c2df484 Clean up syncapi storage to match the coding style set by roomserver storage (#131) 2017-06-05 10:37:04 +01:00
Robert Swain a1e62a2b0b travis: Add sudo: required for sudo apt* usage 2017-06-03 11:36:16 +02:00
Robert Swain 98a7d67b28 travis: Another ppa and install libvips-dev attempt 2017-06-03 11:33:08 +02:00
Robert Swain 484de5958b travis: Add ppa and install libvips-dev 2017-06-03 11:29:40 +02:00
Robert Swain cad1f03f29 mediaapi: Add missing thumbnail files 2017-06-03 11:12:28 +02:00
Robert Swain 83fcf7dc1f mediaapi: Add thumbnail support 2017-06-03 11:08:02 +02:00
Robert Swain e05f1af49a mediaapi: Add YAML config file support 2017-06-03 10:42:49 +02:00
Robert Swain 091bd770ed vendor: Add bimg image processing library
bimg is MIT licensed. It depends on the C library libvips which is LGPL
v2.1+ licensed. libvips must be installed separately.
2017-06-03 10:33:05 +02:00
Mark Haines ef7b934d51 Add Query API for querying events by ID (#129) 2017-06-02 14:32:36 +01:00
Mark Haines 1b6e06aa59 Revert "Add API for querying events by ID. (#127)" (#128)
This reverts commit ce82158abb.
2017-06-02 14:24:13 +01:00
Mark Haines ce82158abb Add API for querying events by ID. (#127)
* Add API for querying events by ID.

* Fix tense

* Start implementing federation ingress

* More stuff

* Hook up federation event receiving

* Fix comments

* Comment on the order of the arrays
2017-06-02 11:19:34 +01:00
Robert Swain 3b498c8074 Merge pull request #126 from matrix-org/rob/media-download-remote
Add support for downloading of remote files
2017-06-01 18:01:42 +02:00
Robert Swain 7244fc15b3 media/writers/download: Make use of CreateMediaDownloadRequest from lib 2017-06-01 17:57:05 +02:00
Robert Swain 0fff33928e vendor: Bump gomatrixserverlib to pull in CreateMediaDownloadRequest 2017-06-01 17:56:30 +02:00
Robert Swain a398cdd193 mediaapi/writers/download: Use mime.ParseMediaType to parse Content-Disposition 2017-06-01 16:04:41 +02:00
Robert Swain 2d822c57f9 mediaapi/writers/download: Use DNS address as not all HSes have SRV 2017-06-01 15:30:36 +02:00
Robert Swain cae309fa26 mediaapi/writers/download: Handle panic to ensure waking of goroutines
If the active request were to panic, we need to ensure all the waiting
goroutines get woken up.
2017-06-01 14:54:59 +02:00
Robert Swain ce21b32d38 mediaapi/writers/download: Wrap broadcast call in closure to re-evaluate args 2017-06-01 14:44:00 +02:00
Robert Swain 4457ebddca mediaapi/writers/download: Rework remote file download synchronisation
Avoid locking around db requests by only locking around active requests
and always creating an active request if there is none. A nice side
effect of this is that if many parallel requests for remote media come
in (a common case) then only one database query is made for the duration
of the query.
2017-06-01 12:32:15 +02:00
Robert Swain a3b1c7535a mediaapi/writers/download: Remove unnecesary Unlock, Lock after Cond.Wait 2017-06-01 08:39:35 +02:00
Robert Swain 923013aa55 mediaapi: Add support for downloading of remote files 2017-05-31 17:56:11 +02:00
Robert Swain 07c821daec mediaapi/writers: Fix InternalServerError responses 2017-05-31 17:41:42 +02:00
Robert Swain 57ba466da1 Merge pull request #125 from matrix-org/rob/media-download-local
mediaapi/writers/download: Add local download support
2017-05-31 15:47:43 +02:00
Robert Swain 2e013e3408 mediaapi/writers/download: Remove unnecessary closeConnection() 2017-05-31 15:39:19 +02:00
Robert Swain bd96d99a3a mediaapi/writers/download: 500 ISE if disk and db file size differ 2017-05-31 15:08:00 +02:00
Robert Swain e33438a37e mediaapi/writers/upload: Add standard fields to logger
So that they apply to all log messages thereafter
2017-05-31 14:54:10 +02:00
Robert Swain 5922ad383d mediaapi/writers/upload: Don't use deprecated sql.ErrNoRows check 2017-05-31 14:52:45 +02:00
Robert Swain f0c717b0a1 mediaapi/writers/download: Escalate corrupt db/file cases to errors 2017-05-31 14:33:49 +02:00
Robert Swain 9606ea28ce mediaapi/writers/download: Always log origin and mediaID 2017-05-31 14:30:57 +02:00
Robert Swain a45f008c12 mediaapi/storage: Don't leak sql.ErrNoRows out of storage package 2017-05-31 14:29:28 +02:00
Robert Swain a936ad5063 mediaapi/writers/download: Add local download support 2017-05-31 13:46:21 +02:00
Robert Swain 3f7ef7690b Merge pull request #124 from matrix-org/rob/media-api-upload
/upload handler and storage database
2017-05-31 12:32:10 +02:00
Robert Swain a0eae6922d mediaapi/writers: Remove unnecessary fmt.Sprintf 2017-05-31 07:12:22 +02:00
Robert Swain 08d1eb9669 mediaapi/upload: Improve HTTP status codes for error cases 2017-05-31 07:11:21 +02:00
Robert Swain 523303277e mediaapi/storage: Refer to RFC instead of golang for base64 format 2017-05-31 07:11:00 +02:00
Robert Swain 61329ee380 mediaapi/fileutils: Comment truncation of data when reading 2017-05-31 07:10:01 +02:00
Robert Swain a4300eefc4 mediaapi/fileutils: Fix and comment os.IsNotExist bug 2017-05-31 07:08:21 +02:00
Robert Swain 63ccd770c6 mediaapi/fileutils: Use filepath not path for filesystem paths 2017-05-31 07:07:48 +02:00