Commit graph

233 commits

Author SHA1 Message Date
Baha 06b49dc6b8 Add QUnit tests for ext.popups.logger
Bug: T133024
Depends-On: Icb1e6ddc8f95da5e4b4de2916d292694c11ba731
Change-Id: I73fee2e3351de357f8f60bf6287a876e245117df
2016-04-20 18:33:53 +00:00
jenkins-bot 9f83c10ad8 Merge "Bold only first instance of title in extract" 2016-04-18 10:14:19 +00:00
Baha 8f3832e68a Add X-Analytics request header when fetching popup data
API requests to fetch the hovercards data now include
`X-Analytics: preview=1` header so that HoverCard hovers are
easily distinguishable in Hive.

Bug: T129425
Change-Id: I69df51a627951c4373b3b7463ab5b2c0a129faa1
2016-04-13 14:32:00 -04:00
Prateek Saxena 5f92196541 Bold only first instance of title in extract
Bug: T132523
Change-Id: I3145186264edd23ca898365ae55184cbe96ada6a
2016-04-13 21:24:42 +05:30
jenkins-bot 3f47fe91de Merge "Add link preview feature to mobile beta mode" 2016-03-11 23:43:01 +00:00
Florian c93047666e Add link preview feature to mobile beta mode
Linkpreview will try to fetch a text extract using the api and, if this
doesn't fail, show the extract as a drawer with a button "Continue to
article". If the query fails, it will redirect the user to the article
directly.

Bug: T113243
Depends-On: I6d8c5b80e70c3d8d1a92a70cc91e1b90d598cb0f
Change-Id: Idbaae9fe2decd89b73e623a25fbd39464c316fb2
2016-03-05 18:22:30 +01:00
Legoktm 48d5a38587 Revert "Compress PNGs with zopflipng"
This reverts commit 56c3f71426.

Change-Id: Iab018ac5cc772aede47c19dfa9d77e81b1a7c00f
2016-02-28 00:08:03 +00:00
Ori Livneh 56c3f71426 Compress PNGs with zopflipng
Zopfli is the most efficient DEFLATE compression algorithm, trading run-time
performance for file sizes that are typically 3-8% smaller than those produced
by zlib with the maximum compression setting. Its output is Deflate-compatible,
so no specialized decoder is needed.

This change was created by running zopflipng against all the PNG files in this
repository. The exact invocation was:

  git ls-files --exclude-per-directory=.gitignore -- '*.png' \|
    parallel zopflipng -m -y {} {} \;

Files which zopflipng was not able to compress more efficiently were left unmodified.

Bug: T127608
Change-Id: I3ec96a8e75ea521315b5944e91ead5e60297c6df
2016-02-21 01:19:52 +00:00
Ori Livneh 6a0dc3964f Compress PNGs with zopflipng
Zopfli is the most efficient DEFLATE compression algorithm, trading run-time
performance for file sizes that are typically 3-8% smaller than those produced
by zlib with the maximum compression setting. Its output is Deflate-compatible,
so no specialized decoder is needed.

This change was created by running zopflipng against all the PNG files in this
repository. The exact invocation was:

  git ls-files --exclude-per-directory=.gitignore -- '*.png' \|
    parallel zopflipng -m -y {} {} \;

Files which zopflipng was not able to compress more efficiently were left unmodified.

Bug: T127608
Change-Id: I0bcc35a4d27a7589cd1a3f6569ef8089e8b6ec02
2016-02-21 00:28:26 +00:00
Florian bbe958bb5d Prepare Popups for adding of mobile specific Popups implementation
For the work on T113243, the Popups extension should be structured in a
more flexible way. This is achieved with this change.

Following has changed:
 * The main/core logic of Popups now lives in ext.popups.core to be shareable
   between implementations
 * The desktop specific logic lives in ext.popups.desktop now, the frontend init
   code in ext.popups.desktopTarget and the desktop renderer in
   ext.popups.renderer.desktopRenderer

This change doesn't change the functionality of Popups.

Change-Id: I72121e0a1e4b2952f85dc1bc8cf59d06b8d22f47
2016-01-30 23:09:55 +01:00
Prateek Saxena bb321b2f23 Stop emptying link title if a TextExtract was not returned
Bug: T123460
Change-Id: I0989d32b391d849c56fd85bb05cb28cc079bc759
2016-01-13 09:59:22 +05:30
jenkins-bot 83a98925af Merge "renderer: Use NavigationPopups settings where available" 2016-01-08 06:35:48 +00:00
Prateek Saxena 853ee800a3 renderer: Unregister mouseleave handler on mw.popups.$popus on closePopup
Bug: T68315
Change-Id: I3da1b4629841a3059d585e424760b331570a3116
2016-01-08 10:31:16 +05:30
Prateek Saxena d760c12fe0 Stop showing popup for cancel link on the Wikitext editor
Bug: T122078
Change-Id: Ib275605c649829a1a04b9bdcb8ffe446921aed0c
2015-12-23 19:08:33 +05:30
Fomafix 0a386fa141 Add 'lang' and 'dir' attributes to '.mwe-popups-extract'
This change uses I26d033e33bfa60c8ff72ba70bb564cba4303a8b6 from core.

Bug: T68114
Change-Id: Iede17b777d5bb2863ea08ba5b0549b4cd7ef5a56
2015-11-04 16:53:47 +00:00
Prateek Saxena 4460321e5a renderer: Use NavigationPopups settings where available
Change-Id: I47e11d07561ebf710d39042c2a3bc4b213a821da
2015-11-01 16:39:46 +05:30
jenkins-bot 0fec4def5a Merge "Remove dead space" 2015-10-14 17:35:23 +00:00
Baha 7c6ccb3d1a Remove dead space
Make sure the popup is displayed right above or below the link.

Bug: T68317
Change-Id: Ib6ba9f1ffc5244842a1535937aa0990eae6943ae
2015-10-14 15:49:39 +05:00
jenkins-bot eaf71a1d4b Merge "ext.popups.renderer.article.js: Use mw.RegExp.escape() for RegExp escaping" 2015-10-14 00:31:07 +00:00
jenkins-bot 68500e7256 Merge "Check renderers' matcher method to find the appropriate renderers for a link" 2015-10-14 00:30:16 +00:00
Prateek Saxena ba919e5d0a settings: Remove navPopEnabled property
This doesn't need to be a property. Its being used exactly once, and
because we try to test for NavigationPopup's availability so soon we
mostly get an incorrect answer.

Moving the condition to the render method instead. Chances of NavPop
being loaded when the settings' screen is being rendered are much
higher.

Bug: T109912
Change-Id: I3723dc1e3e9400b6ed2e0160104c849a25a71881
2015-10-08 00:11:28 +05:30
Fomafix 7ac7a2abd1 ext.popups.renderer.article.js: Use mw.RegExp.escape() for RegExp escaping
mw.RegExp.escape() is already used in ext.popups.core.js and
the dependency to module 'mediawiki.RegExp' is set.

Change-Id: Iaa7ab6902693c787234fd589276fa38ce75b82da
2015-10-02 20:58:26 +00:00
Prateek Saxena 93ef48221e Check renderers' matcher method to find the appropriate renderers for a link
Right now the main renderer always picks the article renderer, no matter
if any other renderers is registered. It will now run the 'matcher'
method in the rendered, and if it returns true, we use that renderer.

Not sure how we'll avoid matchers stepping on each other.

Bug: T69434
Bug: T102921
Change-Id: Ib06812836cdbd3a5bfd54d4bc6147012fb891694
2015-10-01 10:56:15 +02:00
jenkins-bot 486e34fb38 Merge "Move the article renderer in to the renderers property" 2015-10-01 08:50:39 +00:00
Prateek Saxena 1565a1d3c9 Move the article renderer in to the renderers property
To allow multiple renderers (for different types of content)
to be defined.

Change-Id: I50320646e26f36a0a2bc425c82ccc58912840f84
2015-10-01 08:48:00 +00:00
Baha 495014a917 Feature detect SVG support
'document.implementation.hasFeature' has been deprecated and is not
reliable. See
https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature

Bug: T113200
Change-Id: I5901768d8c8642caac31884c5e9ac5b6ac74d035
2015-09-30 22:36:03 +05:00
jenkins-bot 2652cd325a Merge "core.less: Visual refinement & drop shadow" 2015-09-23 22:24:03 +00:00
Brion Vibber d90c492275 Hi-DPI/Retina support for hovercard images
Requires core changeset Ic9cb1654 for $.bracketedDevicePixelRatio()

Bug: T97935
Change-Id: I452b87a90769463328840c6c7e46b583e6148439
2015-09-09 15:40:33 +02:00
Prateek Saxena 6eef4f325b Add jscs and jshint tasks to the Gruntfile
Adds the jscs and jshint packages for development and their tasks in
Grunt. Also fixes all the code convention errors.

Change-Id: If1c9dfdbe22d4912d78b6a51b1292866970a85cc
2015-09-04 13:57:52 +05:30
jenkins-bot b1dd60ccf5 Merge "Use pg.fn.disablePopups to detect and stop NavigationPopups" 2015-08-27 20:17:37 +00:00
Timo Tijhof 41c12d3f9a Remove stray ")" from the "Enable previews" link
Follows-up dd98179a15.

Change-Id: I07b039dae272c9e66f091dd07b6e9b7d20b6d275
2015-08-27 03:06:20 +02:00
Prateek Saxena 1270c240c9 Use pg.fn.disablePopups to detect and stop NavigationPopups
The global disablePopups function from NavigationPopups got scoped to
pg.fn.disabledPopups at some point. We were relying on that function
to both detect and disable the gadget.

Bug: T109912
Change-Id: I3d6de60ca2a387e45675ddb04cdc45b0f967e46a
2015-08-26 16:52:22 +05:30
Prateek Saxena 947f644991 Move all images to resources/images
Change-Id: Iac712668baf8cefedf036c4d479687e3f5da5a46
2015-07-18 22:27:18 +00:00
Prateek Saxena 51884d39e9 renderer.article: Increase exsentences to 5 in the API call
Bug: T93160
Change-Id: Ie61555b845ab2207aa62040f6d5e13b490e53e15
2015-07-08 18:30:45 +05:30
Prateek Saxena d0486550e9 Add maxage, s-maxage and uselang parameters in API call
Bug: T97096
Change-Id: I8b4a21b725d25c704eedf3c29ea139a777327a4c
2015-07-03 04:30:57 +00:00
S Page 6c53f13845 API query improvements
Don't request unused prop=info and its rvprop=watched;
use formatversion=2 instead of indexpageids to simplify processing the
returned query object.

Bug: T103981
Change-Id: I1c0f9b0245a823413f5fed78bc1d0d46ef978cef
2015-06-26 03:57:34 -07:00
S Page 4ac8f1b48b Use actual booleans in API request
Popups' API query request specifies the string 'true' as the value for
some boolean request parameters, but that's functionally identical to
specifying boolean true -- both get encoded as param=true in the HTTP
request.

Change-Id: Icc5f4b8ef6faaffe4a23c964f8cd8c2582d28381
2015-06-26 03:49:55 -07:00
Fomafix 7713e343fe Replace 'jquery.mwExtension' by 'mediawiki.RegExp'
Replace $.escapeRE from 'jquery.mwExtension' by
mw.RegExp.escape from 'mediawiki.RegExp'.

Bug: T103610
Change-Id: I1d23e4c02d92828291b98a52b4e8050fbebc06d9
2015-06-26 07:48:18 +00:00
Prateek Saxena 03f4fa63b2 core: getTitle: Return undefined for non URI links
mw.Uri throws an exception when dealing with -

    href="javascript:void(0);"
    href="mailto:abc@example.com"
    etc.

Using a try…catch to return undefined in this case.

Bug: T95215
Change-Id: I632e9dc0e70a5fddf9f2573572bfc8e7f6232923
2015-04-21 19:19:43 +05:30
jenkins-bot 4438a92585 Merge "Reduce font-size of timestamp text" 2015-04-17 08:11:43 +00:00
jenkins-bot f6b32a7963 Merge "Update font-size and line-height" 2015-04-17 08:11:35 +00:00
Prateek Saxena 503356d33c Reduce font-size of timestamp text
Bug: T96343
Change-Id: I653018e0a653ef8c25a336e73b5ff46eceed119a
2015-04-17 12:50:50 +05:30
Prateek Saxena 4ba7ec87a1 Update font-size and line-height
Bug: T94957
Change-Id: I8f67a5e43bcd0f0de22c03323585414adfa12944
2015-04-11 19:23:57 +05:30
jenkins-bot a5d4bec8fd Merge "Use href attribute to calculate titles" 2015-04-07 10:04:55 +00:00
wctaiwan 642bdf013e Use href attribute to calculate titles
This is needed for wikis that use LanguageConverter, since the title
attribute is converted to the user's variant, and the canonical title is
needed for the API unless converttitles is specified.

For filtering, instead of comparing linkHref and expectedHref, filter
out links that have other query parameters or aren't in content
namespaces.

Bug: T93605
Change-Id: I5534753307ed5e1d4b27c52c616fd143b2a397e1
2015-04-06 05:55:25 -04:00
jenkins-bot e6d43ccc16 Merge "logger: Add a sampling rate of 10" 2015-04-06 09:21:50 +00:00
jenkins-bot e21d08e0d0 Merge "Implement the new schema for when the popups are disabled" 2015-04-06 09:19:03 +00:00
jenkins-bot 0ff656a892 Merge "Implement the new schema for when the popups are enabled" 2015-04-06 09:18:16 +00:00
jenkins-bot 7fe8f5d45f Merge "Add icon and link to qualtric survey if $wgPopupsSurveyLink is defined" 2015-04-06 09:03:26 +00:00
Prateek Saxena 8fbacb9040 Add icon and link to qualtric survey if $wgPopupsSurveyLink is defined
The link to the survey is added in Ic445732197e6abeba459b40b1416d8a71bc23bd6

Bug: T1005
Change-Id: I24bfd5fd622d1afc4372dbd4bfca3879927b0c17
2015-04-02 15:29:15 +05:30