Commit graph

308 commits

Author SHA1 Message Date
jenkins-bot b06020fa26 Merge "Adjust invite animation for Media Viewer" 2014-04-29 07:30:55 +00:00
jenkins-bot 8b7cfd12d5 Merge "Handle window.localStorage === null case correctly." 2014-04-29 07:10:33 +00:00
Gergő Tisza 3be5195ed2 Ensure click playback happens at the right time
The code to replay clicks and clean up the handler was called after
processing each thumbnail, instead of just once at the end.
This might have caused many subtle issues such as clicks on any
but the first image not replaying correctly; more problematically,
of there were no MediaViewer-compatible thumbs, the handler was
never cleaned up and the clicks were never replayed.

Besides fixing that, this commit also adds a try..finally wrapper
so that the click replaying is not broken even if there is an error
in the thumb processing code. This might or might not be a good
idea. The internets say that try..finally without a catch causes
errors in IE8, but only if it is not wrapped in another try..catch,
so we are probably fine. (Adding a catch which just rethrows the
error would be an alternative, but it messes up stack traces.)

Change-Id: I2f645762103274c92c15a0d4b595d18d93b08415
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/497
Bug: 64345
2014-04-29 00:27:31 +00:00
Gergő Tisza a56759d8fe Handle window.localStorage === null case correctly.
Change-Id: I49ddf45093daee4988fb7f3b481fb35bfaceb152
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/521
Bug: 64525
2014-04-28 22:33:02 +00:00
Pau Giner 2ac50f49bf Adjust invite animation for Media Viewer
With latest refactorings, the animatin looked like a glitch.
The position of the panel has been adjusted to (a) make the initial
position the same as shown while the progress bar for better continuity,
and (b) make the move more noticeable by increasing the distance the
panel moves.

To test, clear the local storage variable mmv.hasOpenedMetadata

Change-Id: Ie3ed29826fa15bf4c6b38f0fc8bde4bd84563fb9
2014-04-28 10:28:18 -07:00
jenkins-bot a0d9e46ef6 Merge "Fix Chrome bug where popstate could still reset scroll position" 2014-04-25 20:55:12 +00:00
Pau Giner b7420ae82a Images for zoom
Images for the Zoom control of Media Viewer.
SVGs for RTL and RTL languages included.

Change-Id: I65cc6d9921a40d26307c294fb08ccfc42b1a9068
2014-04-24 17:43:15 -07:00
jenkins-bot 476a0be245 Merge "Skip userinfo request if no message depends on the gender." 2014-04-23 23:47:34 +00:00
jenkins-bot fe7a64fbcc Merge "Make License.isCc() really return booleans" 2014-04-23 22:59:25 +00:00
Gergő Tisza 846019a08a Make License.isCc() really return booleans
Before it returned undefined if the license had no internal name,
which caused unexpected behavior when used with $.toggle().

Change-Id: I1dcee6c999982fde47f9d388381fc670d81a6c5d
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/494
2014-04-23 20:30:03 +00:00
Gergő Tisza 33e2855a0c Show caption on thumbnails
processThumb() is a mess. This change is kept small since we might
want to backport it per the bugzilla comments; I might follow up
with some refactoring in a separate commit.

Bug: 62518
Change-Id: I1f916b88fe1b667c6c7e51c9bdca186d4aa2ef2c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/338
2014-04-23 01:29:30 +00:00
Gergő Tisza ec883d84ef Skip userinfo request if no message depends on the gender.
Change-Id: I85bc617efc87ed1c4526eb74470bb6182910d9fc
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/435
2014-04-23 00:59:23 +00:00
Gilles Dubuc 292f42dc7c Fix Chrome bug where popstate could still reset scroll position
Change-Id: I3418b2e446a210a406daacc1321103df1f09caa1
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/486
2014-04-23 02:26:07 +02:00
jenkins-bot 7ac4b375b6 Merge "Bigger, badder, animated progress bar" 2014-04-22 22:30:31 +00:00
Gilles Dubuc 69e75bcda8 Bigger, badder, animated progress bar
Nobody will be able to say it's not prominent enough anymore.

Change-Id: I060dcf2b8f244f7d59f4ed1ef6dfd85a08f3ef88
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/464
2014-04-22 15:16:56 -07:00
Gergő Tisza d1a6592185 Add more survey languages (fr, de, pt/pr-br)
For pt speakers pt-br is shown until we get a pt translation

Related core commit: If2c57846f4dfb05ea58f36b25e3d8185d2a6e70e

Change-Id: I595446dc59c1bca2ea0b977be9d26f17192d3bc4
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/481
2014-04-22 22:03:32 +00:00
jenkins-bot 2b665e6ff0 Merge "Track more user actions" 2014-04-22 18:41:28 +00:00
Gergő Tisza c304baf0ba Show metadata panel immediately.
Change-Id: Ie71eb1d29e3863b99687a75da69fad9a1ead552c
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/458
2014-04-22 16:10:25 +00:00
jenkins-bot 5007968d4f Merge "Split the progress bar into a component of its own." 2014-04-22 09:19:41 +00:00
jenkins-bot 61b5de0d22 Merge "Cache API responses" 2014-04-22 08:58:44 +00:00
Gergő Tisza 284a936aff Cache API responses
Cache API responses, both on Varnish and in the user's browser.
The imageinfo request is not cached, since that would make it very
hard to test metadata template edits. Everything else is cached for
one day.

Change-Id: I9149cf40d4448a424073eefd1eb442c70c977687
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/435
2014-04-22 10:56:52 +02:00
jenkins-bot a057ee476e Merge "Open license deed in new tab" 2014-04-22 08:48:12 +00:00
jenkins-bot 2471bbe136 Merge "Display correct file type on download button" 2014-04-22 08:31:27 +00:00
Gilles Dubuc 700df1ecc2 Track more user actions
- metadata open/close
- next/prev
- view terms
- author
- source
- hash load
- history navigation

Change-Id: I4ea7e0b008b46577322050d692359d46374a0929
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/290
2014-04-22 10:20:36 +02:00
Gergő Tisza 3bddd3fcb7 Open license deed in new tab
Not convinced this is a good thing (file description page still
opens in same window so it is somewhat inconsistent) but suddenly
leaving the lightbox to show the deed feels like a very unintuitive
behavior to me.

Change-Id: I2cca3e4241fd1bb2848c11cf425aa75aad8c4a30
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-22 00:21:11 +00:00
Gergő Tisza f04f5984d5 Display correct file type on download button
Works, but awkward - the extension name changes a little later than the button
text itself. This is hard to avoid since we don't know beforehand
what the thumbnail type is - we have to wait for the API request.
(We can't do thumbnail URL guessing here since we cannot catch the 404 error.)

In general the whole API handling here is not so good, with a separate API
request going out when we should just get all size options in a single request,
when the user opens the reuse panel.

Change-Id: I502b7cb4e99d8af348d7d1967eb8343ec0f926fe
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/471
2014-04-21 23:51:15 +00:00
Gergő Tisza c9e92da374 Split the progress bar into a component of its own.
Change-Id: I131b0d1b8ec992a7c7ad388021febea5a0303d16
2014-04-21 22:27:59 +00:00
Gergő Tisza acd816a4c3 Show error trace in console when catching an error in bootstrap
Change-Id: Icaee88ee3d1d3076cef166ba4443ac9065863efb
2014-04-21 21:23:28 +00:00
jenkins-bot 5d7e4f8198 Merge "Use short license name from template if we don't recognize it" 2014-04-21 18:53:10 +00:00
jenkins-bot c4a022460a Merge "Show 'view terms' when we can't figure out the license" 2014-04-21 10:42:11 +00:00
jenkins-bot 9a54e155da Merge "Collect license handling code, remove unused data attribute" 2014-04-21 10:40:08 +00:00
Gergő Tisza bfbc58fce0 Disable preloading of fullscreen-sized image
Fullscreen clicks are only about 5-10% of image views, and there
are a lot of complaints about the app being slow, so until the
speed can be improved in other ways, there is no point in
preloading for the fullscreen mode. Unlike the normal preloading,
it is not queued, and it slows down the normal image loading.

Bug: 64135
Change-Id: Ic145c8a1d5c3729f684e2f6c96f7d84869ef4087
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/474
2014-04-19 15:53:28 +00:00
Gergő Tisza 4e081a9559 Use short license name from template if we don't recognize it
We have been saying 'view terms' for every non-CC/PD image, which
is not particularly helpful.

Change-Id: Ia5fc6fb3af3802ad8a1f5188226fe4e89ab6d8d9
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-19 00:46:50 +00:00
Gergő Tisza c1b2b1bb2c Show 'view terms' when we can't figure out the license
...since there probably still is one, and our failure to parse it
just makes it more important that we direct the user to the file
page.

Change-Id: Id31f95021f059ccf4bf9893b1146f3807dcabdcb
2014-04-19 00:42:47 +00:00
Gergő Tisza b00eca6ade Collect license handling code, remove unused data attribute
This just shuffles code around, should not change behavior.

Change-Id: Ieb0102300c8444f18444fae38e5ea813d8f682e5
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/472
2014-04-19 00:39:21 +00:00
jenkins-bot 119bdad504 Merge "Show scrollbars in survey window in Firefox" 2014-04-18 21:44:57 +00:00
Mark Holmquist bfcbf06f80 Show scrollbars in survey window in Firefox
Change-Id: I6bf4838df86ad73a2aa4eeca3c9b3a4269ea0eae
2014-04-18 14:27:19 -07:00
Mark Holmquist a6619cb1ce Link to creativecommons.org for CC licenses
Change-Id: Ifdbb0d835b0eb6950eca3403bb486bbdd34651c6
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/221
2014-04-18 11:27:00 -07:00
Gergő Tisza dd9a9718c3 Use thumbnail guessing
Change-Id: I2335af257fd23c9367b6839dfc6050840a905aa2
2014-04-17 10:35:33 +02:00
Gergő Tisza e03b9345c2 Guess thumbnail URLs without extra API call
Given a sample thumbnail URL and the original width/height
this provider tries to guess the thumbnail url for a given
size.

Change-Id: I2966b60978ab763864475851d8a79370bd422dc4
2014-04-17 01:21:35 +00:00
jenkins-bot fff6c55695 Merge "Fix bug when exiting Media Viewer while image is loading" 2014-04-16 20:39:23 +00:00
jenkins-bot 8217b97462 Merge "Load moment.js on demand" 2014-04-16 20:32:21 +00:00
Gilles Dubuc 9d51e534da Fix bug when exiting Media Viewer while image is loading
Which would cause the image to never appear, even when reopening
Media Viewer. The source of the issue was an uncaught exception in
ThumbnailWidth.

Unfortunately this cannot be covered by E2E because the image
loads too fast in that context, and cucumber/selenium doesn't
have time to catch the placeholder.

Change-Id: I9386f6e857a7974166ddb5eeb7ea731d943eddcf
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/450
2014-04-16 13:59:45 +02:00
Gergő Tisza 9b1e756c3b Replace current URL generation logic with routing classes
* deduplicates URL generating/parsing code
* gets rid of spaces in URLs
* fixes error for file names with / in them (in case they exist;
  current MediaWiki seems to disallow such names anyway)

Change-Id: I5aad43f6af1b99523c597c39befcc9db1ecab83a
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/371
2014-04-16 12:51:38 +02:00
jenkins-bot e78d391037 Merge "Add routing classes" 2014-04-16 10:51:02 +00:00
Gergő Tisza 0b614c78e3 Add routing classes
Adds a Route class hierarchy for various URL schemes and a Router
class to convert Route classes to and from URLs.

Right now we only have two(-ish) schemes, but in the future we want
to be able to show related images which are not present on the current
page and need shareable URLs for those as well; also we might want
to specify other things in the URL than the current image (the reuse
box being open was one thing discussed); this will be a good framework
to add features like that.

The MainFileRoute class will be used by #416.

Change-Id: I489126a0ada37f91a22a2f48a4e686140a28d162
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/371
2014-04-16 12:40:17 +02:00
jenkins-bot ffdc63aa4c Merge "Do not load too-big thumbnails for SVGs" 2014-04-16 10:23:40 +00:00
jenkins-bot 2cea09b588 Merge "Choose feedback survey based on user language" 2014-04-16 10:08:52 +00:00
Gergő Tisza 35eb14f837 Choose feedback survey based on user language
Change-Id: Ia9d53b6a3caedecd05429e5285765b1c5098342e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/420
2014-04-16 00:52:40 +00:00
Mark Holmquist 68bb702eaa Fix issues with file page link
TIL about setup/teardown in qunit

Change-Id: Ib283285bea401be251ec3f46a2dbd01623fe895e
Mingle: https://wikimedia.mingle.thoughtworks.com/projects/multimedia/cards/452
2014-04-15 15:42:11 -07:00