Commit graph

322 commits

Author SHA1 Message Date
Jeremy Benoist
70df4c3359
Use two indexes instead of one for hashed urls
When using `OR` in a where clause, a composite index can't be used. We should use a `UNION` to take advantages of it.
Instead, create 2 indexes on each hashed urls and make 2 queries to find an url. It'll be faster than the previous solution.
2019-06-05 10:53:15 +02:00
Nicolas Lœuillet
b7fa51ae7d
Added given_url in entry table
- Added index on entry table for given_url field
- Fix tests:

    The previous `bit.ly` url redirected to doc.wallabag but that url doesn't exist in the fixtures.
    I used our own internal "redirector" to create a redirect to an url which exist in the fixtures.

Also, updating current migration to use the new `WallabagMigration`.
2019-05-29 13:50:59 +02:00
Jeremy Benoist
6e68417f03
Fix tests after rebase 2019-05-28 12:02:17 +02:00
Jeremy Benoist
36b0d52ee4
CS & fix tests 2019-05-28 11:44:21 +02:00
Jeremy Benoist
b6c1e1bacc
Fix some tests 2019-05-28 11:44:20 +02:00
Jeremy Benoist
448d99f84e
CS 2019-05-28 11:42:27 +02:00
adev
5f08426201
Fix because of some breaking changes of Graby 2.0 2019-05-28 11:42:27 +02:00
adev
bf9ace0643
Use httplug 2019-05-28 11:40:41 +02:00
Jeremy Benoist
92a6683562
Merge remote-tracking branch 'origin/master' into 2.4 2019-05-27 10:46:01 +02:00
Jeremy Benoist
d6cc0b249e
Fix test 2019-05-27 09:38:07 +02:00
nicofrand
d99e6423f4 [tests] Fix pre-existing tests (preview now imported + records added) 2019-05-21 20:38:22 +02:00
nicofrand
715fabf8f2 [tests] Set first picture as preview picture 2019-05-21 20:38:22 +02:00
Kevin Decherf
feb239ea10 mysql: change collation of tag table
utf8mb4_unicode_ci considers that 'caché' is equal to 'cache' which
can lead to attaching incorrect tags to entries. This issue is due to
some unicode normalization done by MySQL.

utf8mb4_bin makes no unicode normalization, letting wallabag to consider
'cache' and 'caché' as two different tags.

We change the collation of the whole table as Doctrine does not support
setting a collation on a column for a specific platform (it tries to
apply utf8mb4_bin even for pgsql and sqlite).

Fixes #3302

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-05-19 23:37:49 +02:00
Jeremy Benoist
b8b37ccdea
CS 2019-05-15 14:58:40 +02:00
Jeremy Benoist
9f0957b831
Merge remote-tracking branch 'origin/master' into 2.4 2019-05-15 14:38:07 +02:00
Jeremy Benoist
77bd7f690d
CS 2019-05-10 15:49:39 +02:00
Jeremy Benoist
68a90821a3
Handle redirection from previous feeds 2019-04-26 13:40:58 +02:00
Jeremy Benoist
f277bc042c
Fix tests & cs & migration 2019-04-26 12:53:21 +02:00
Thomas Citharel
531c8d0a5c
Changed RSS to Atom feed and improve paging 2019-04-25 13:46:31 +02:00
Jeremy Benoist
35359bd3c6
Adding more tests to cover different scenario 2019-04-24 15:28:15 +02:00
Jeremy Benoist
ff8f338dc2
FIx unrelated failing test 2019-04-23 22:48:04 +02:00
Jeremy Benoist
f45496336f
Add ability to match many domains for credentials
Instead of fetching one domain, we use the same method as in site config (to retrieve the matching file) and handle api.example.org, example.org, .org (yes the last one isn’t useful).
If one of these match, we got it and use it.
2019-04-23 22:39:31 +02:00
Jeremy Benoist
8a64566298
Use a better index for hashed_url
It'll most often be used in addition to the `user_id`.
Also, automatically generate the hash when saving the url.
Switch from `md5` to `sha1`.
2019-04-01 13:51:57 +02:00
Jeremy Benoist
9c2b2aae70
Keep url in exists endpoint
- Add migration
- Use md5 instead of sha512 (we don't need security here, just a hash)
- Update tests
2019-04-01 13:24:40 +02:00
Thomas Citharel
bfe02a0b48
Hash the urls to check if they exist
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2019-04-01 13:24:40 +02:00
Jeremy Benoist
8c0ba95307
Adding more tests 2019-02-27 15:01:03 +01:00
Jeremy Benoist
a0c5eb003f
Change the way to enable 2FA
And add a step to validate a generated code from the OTP app
2019-01-23 13:28:24 +01:00
Jeremy Benoist
edc79ad886
Fix test for custom version of the tidy extension 2019-01-23 13:28:02 +01:00
Jeremy Benoist
a6b242a1fd
Enable OTP 2FA
- Update SchebTwoFactorBundle to version 3
- Enable Google 2fa on the bundle
- Disallow ability to use both email and google as 2fa
- Update Ocramius Proxy Manager to handle typed function & attributes (from PHP 7)
- use `$this->addFlash` shortcut instead of `$this->get('session')->getFlashBag()->add`
- update admin to be able to create/reset the 2fa
2019-01-23 13:28:02 +01:00
Jeremy Benoist
0447a75b06
Use only one method to randomize
Instead of one per type, one for all is ok.
2019-01-19 21:09:33 +01:00
Jeremy Benoist
1e0d8ad7b7
Enable PHPStan
- Fix error for level 0 & 1 (level 7 has 699 errors...)
- Add `updated_at` to site_credential (so the `timestamps()` method applies correctly)
2019-01-18 15:25:50 +01:00
Jeremy Benoist
5419a8368e
Merge remote-tracking branch 'origin/master' into 2.4 2019-01-15 09:41:18 +01:00
Kevin Decherf
dac93644e8 EntriesExport: sanitize filename and fix tests
Filename will now only use a-zA-Z0-9-' and space.

Fixes remaining filename issue on #3811

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-01-08 15:13:35 +01:00
lizyn
7f8630b91c Counting two characters together as a word in CJK 2019-01-06 01:21:13 +08:00
Jeremy Benoist
35983eb9bb
Improve reading time tests 2019-01-04 11:23:33 +01:00
lizyn
5becf260fa fix incorrect reading time calculation for entries with CJK characters 2018-12-25 15:31:44 +08:00
Jeremy Benoist
877787e5fe
Fix utf8mb4 on vendor tables
When creating the schema for test these tables use default length for
string: 255. Which fail when using utf8mb4.

> Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Also move the `setKeepStaticConnections` in before and after class to
avoid:

> SAVEPOINT DOCTRINE2_SAVEPOINT_2 does not exist

See https://github.com/dmaicher/doctrine-test-bundle#troubleshooting
2018-11-28 22:04:55 +01:00
Jeremy Benoist
9a8a1bdfdb
Use our own fork for CraueConfigBundle
Mostly to fix utf8mb4 issue
2018-11-28 22:04:55 +01:00
Jeremy Benoist
b878be4cc9
Merge remote-tracking branch 'origin/master' into 2.4
# Conflicts:
#	web/wallassets/baggy.js
#	web/wallassets/manifest.json
#	web/wallassets/material.css
#	web/wallassets/material.js
2018-11-25 09:58:18 +01:00
Jeremy Benoist
dc90eab32b
Prepare 2.3.4 release 2018-11-23 08:34:13 +01:00
Kevin Decherf
6059967951 updateOriginUrl: remove 'query string' case from ignore list
Two urls with a different query string may refer to two different pages
so keep them both.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-24 22:27:27 +02:00
Kevin Decherf
b49c87acf1 ignoreOriginUrl: add initial support of ignore lists
Add the ability to specify hosts and patterns lists to ignore the given
entry url and replace it with the fetched content url without touching
to origin_url.

This initial support should be reworked in the following months to move
the hardcoded ignore lists in the database.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-22 23:42:09 +02:00
Kevin Decherf
fc040c749d updateOriginUrl: add behavior when diff is fragment and query
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-22 23:08:58 +02:00
Kevin Decherf
e07fadea76 Refactor updateOriginUrl to include new behaviors behaviors
- Leave origin_url unchanged if difference is an ending slash
- Leave origin_url unchanged if difference is scheme
- Ignore (noop) if difference is query string or fragment

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-22 23:01:16 +02:00
Kevin Decherf
781864b954 ContentProxy: swap entry url to origin_url and set new url according to graby content
Closes #3529

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-10-21 16:15:31 +02:00
Jérémy Benoist
e673b54f70
Merge pull request #3574 from shulard/feature/rename-tags
Allow to rename tags from the web interface.
2018-10-15 08:32:59 +00:00
Jeremy Benoist
4d4147b228
Ensure language is valid
- Do not override locale if user has choosen a locale from the login screen.
- Add some tests about locale url
2018-10-13 09:39:00 +02:00
Jeremy Benoist
115de64e5b
Jump to Symfony 3.4
Thanks to the BC compatibility, almost nothing have to be changed.
All changes are related to new bundle version of:
- SensioFrameworkExtraBundle
- DoctrineFixturesBundle
2018-10-04 14:11:57 +02:00
Stéphane HULARD
03b2058dbe
Add tests about the tag renaming process. 2018-09-25 10:18:36 +02:00
Tobi823
28cc645b93 Run php-cs-fixer for fixing coding standard issues (on ContentProxyTest) 2018-09-23 23:42:05 +02:00
Tobi823
d64139d812 Make helper methods strToHex and hexToStr in ContentProxyTest.php private
to prevent misusage (from outside this class)
2018-09-21 13:31:28 +02:00
Tobi823
c01d953292 Add tests for logic
Try to translate the title of a PDF from UTF-8 (then UTF-16BE, then WINDOWS-1252) to UTF-8
2018-09-21 13:15:00 +02:00
Sébastien Viande
7975395d10
Entry: add archived_at property and updateArchived method 2018-09-21 10:33:33 +02:00
Jeremy Benoist
84b3bdaac0
Liberation goes https 2018-09-21 09:07:40 +02:00
Jeremy Benoist
4408ebd40a
Fix tests 2018-09-07 15:18:00 +02:00
Kevin Decherf
2a1ceb67b4 php-cs-fixer
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-09-05 14:25:32 +02:00
Jeremy Benoist
72efc80fdc
Removing failing test from Travis 2018-08-19 16:38:48 +02:00
Simounet
e6f12c0734 More robust srcset image attribute handling
Linked to HTMLawed PR https://github.com/kesar/HTMLawed/pull/17
2018-07-12 14:29:30 +02:00
Simounet
3fbbe0d9f1 Fix image downloading on null image path 2018-07-05 11:40:51 +02:00
Jeremy Benoist
778543311f
Fix tests 2018-06-06 17:34:20 +02:00
Simounet
c15bb5ad72 Fix srcset attribute on images downloaded 2018-06-01 13:49:16 +02:00
Floran Brutel
08d6bedcaa
Allow login by email 2018-04-01 20:57:10 +02:00
Floran Brutel
80d4260a8e
Fix CS in UtilsTest.php 2018-03-31 12:55:27 +02:00
Floran Brutel
739a4024fa
Replace zataz url 2018-03-30 23:09:03 +02:00
Floran Brutel
3be96dcb17
Use https instead of http for bild.de to fix tests 2018-03-29 22:58:40 +02:00
Nicolas Lœuillet
5614df19cf Fixed tests 2018-01-12 11:19:11 +01:00
Kevin Decherf
b8568662bd php-cs
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-12-31 13:19:26 +01:00
Kevin Decherf
e0a862b626 Add test to prevent regression for #3534
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-12-31 00:56:40 +01:00
Jeremy Benoist
5661e8d42a
Fix countable in tests 2017-12-18 13:29:34 +01:00
Jeremy Benoist
4b6942d2d8
Add missing TestCase namespace 2017-12-18 13:29:33 +01:00
Jeremy Benoist
26e2f07419
Fix typo 2017-12-18 13:29:33 +01:00
Jeremy Benoist
bd91bd5c32
Use namespaced PHPUnit classes 2017-12-18 13:29:33 +01:00
Kevin Decherf
300f293cb1 Add test on EntryControllerTest for #3442
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-12-13 22:44:31 +01:00
Christophe VERGNE
a40a8038d3
Fix All RSS not accessible if not logged in + Tests 2017-12-11 16:04:06 +01:00
Jérémy Benoist
ceff312db8
Merge pull request #3401 from aaa2000/migration-initial
Add an initial doctrine migration
2017-11-25 12:28:41 +01:00
Jérémy Benoist
f818f64145
Merge pull request #3431 from wallabag/disable-site-credentials
Disable controller access if feature disabled
2017-11-22 15:11:25 +01:00
Jeremy Benoist
ef2b4041fb
Disable controller access if feature disabled
If `restricted_access` is disabled, accessing `/site-credentials/` must be disabled.
2017-11-22 10:00:45 +01:00
adev
2680b0bc8c Fix installation command 2017-11-21 21:35:17 +01:00
Nicolas Lœuillet
95b7d92ea5
Merge pull request #3425 from wallabag/add-setting-for-headers
Added internal setting to enable/disable headers storage
2017-11-21 13:26:24 +01:00
Jeremy Benoist
709e21a3f4
Define storeArticleHeaders false by default
Fix tests which must use `$storeArticleHeaders`.
Fix CS
2017-11-21 10:37:36 +01:00
Jeremy Benoist
64a5a6cfc5
CS 2017-11-21 10:30:35 +01:00
Nicolas Lœuillet
8a21985474 Added internal setting to enable/disable headers storage 2017-11-20 18:47:48 +01:00
Kevin Decherf
eae8138b33 Fix phpcs
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-11-19 15:26:13 +01:00
Kevin Decherf
97444566db Update EntryControllerTest to handle origin_url
Set an origin_url in testEditUpdate
Test origin_url deletion in testEditRemoveOriginUrl

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-11-19 15:02:11 +01:00
Kevin Decherf
e50e45d6fa Twig: add removeSchemeAndWww filter
This twig filter removes scheme (only http and https are supported) and
pass the result to removeWww filter to also remove 'www.' at the
beginning of an url.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-11-19 15:02:11 +01:00
adev
cc79712738 Fix phpcs 2017-11-11 23:55:13 +01:00
adev
d81bf605af Fix tests 2017-11-11 23:37:57 +01:00
Jeremy Benoist
f645d371ce
Fix MondeDiplo https url 2017-10-10 10:20:57 +02:00
Jeremy Benoist
f40c88eb1f
Jump to Symfony 3.3 & update others deps
Also update tests urls
2017-10-09 16:45:12 +02:00
Jeremy Benoist
33264c2d02
Fix tests 2017-09-06 22:49:16 +02:00
Jeremy Benoist
7c04b7396a
Multiple tag search was broken from API
First, the setParameter() were done on the same parameter which in fact
just duplicated the condition in the SQL query (like `where t.label =
'test' and t.label = 'test'`.

Changed the parameter doesn't help because the query was then wrong.

Changing the way to match associated tags for an entry and it worked.
2017-09-06 22:49:15 +02:00
Kevin Decherf
7036d91fe7 Tag: render tags case-insensitive by storing them in lowercase
Fixes #2502

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2017-08-27 16:51:23 +02:00
Nicolas Hart
511f1ce1e8 Add reload entry command 2017-08-21 10:45:48 +02:00
Nicolas Hart
f7a4b44136 add search argument and limit option to list users command 2017-07-31 23:20:41 +02:00
Nicolas Hart
af31cfed76 Add list user command 2017-07-30 22:04:29 +02:00
Nicolas Hart
e1b33efb3d Better rendering for all core commands 2017-07-29 11:09:02 +02:00
Jeremy Benoist
c6c45673af
Put the final URL in data test 2017-07-24 11:13:53 +02:00
Jeremy Benoist
c18a2476b6
CS 2017-07-03 13:56:39 +02:00
Jeremy Benoist
d0ec2ddd23
Fix validateAndSetPreviewPicture
Which wasn't covered by a test!
2017-07-03 13:45:04 +02:00
Jeremy Benoist
a05b61159e
Fix PATCH method
The PATCH method for the entry should only update what user sent to us and not the whole entry as it was before.
Also, sending tags when patching an entry will now remove all current tags & assocatied new ones.
2017-07-03 13:45:04 +02:00