Commit graph

425 commits

Author SHA1 Message Date
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 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 c579ce2306
Some cleanup
Also, do not run the hashed_url migration into a Doctrine migration
2019-04-01 14:34:20 +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 3620dae1e6
Merge remote-tracking branch 'origin/master' into 2.4 2019-04-01 13:16:15 +02:00
Jeremy Benoist 8c0ba95307
Adding more tests 2019-02-27 15:01:03 +01:00
Kevin Decherf 12a97c3522 tests: fix broken session clients for rest entry deletion tests
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-02-20 15:57:56 +01:00
Kevin Decherf 508302042f EntryRestController: add support of expect parameter to delete action
The expect parameter enables an application to request the whole entry
or only the id when requesting its deletion.

`expects` defaults to `entry` to prevent any API breakage.

Fixes #3711

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-02-20 15:57:50 +01:00
Kevin Decherf 4e0ed3368d tests: create entry for testDeleteEntry, fix missing id
When using the entity manager to retrieve an already stored entry, the
id disapears from $entry after the first delete call. This leads to
testing a nonexistent endpoint (api/entries/.json) during the second
delete call.

This change now creates an entry specifically for the test.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2019-02-17 15:25:21 +01:00
Jeremy Benoist 18460b2d79
Merge remote-tracking branch 'origin/master' into 2.4 2019-02-07 18:01:15 +01:00
Jeremy Benoist 8d082488e9
Improve checks & add tests 2019-01-28 06:03:16 +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 019e1acc49
Factorize sendResponse between Api controllers
And run newer cs fixer
2019-01-22 20:42:25 +01:00
Craig Roberts 9133bd02d1
[wallabag/wallabag#2611] Fix PHPCS lint errors 2019-01-22 20:42:25 +01:00
Craig Roberts b32057980e
Fixes [wallabag/wallabag#2611] Add a basic Search REST endpoint
- Adds a new `search` key to `src/Wallabag/ApiBundle/Resources/config/routing_rest.yml`
- Reuses the `getBuilderForSearchByUser` method from the EntryRepository
- Supports, `term`, `page`, and `perPage` query parameters
- Some very basic tests
2019-01-22 20:42:24 +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 3bd65991ad
Add a new endpoint to retrieve information from the wallabag instance
Useful for api client which required some information.
We might add more inside them in the future.

The endpoint /api/version should be avoided now as it contains not so much information rather the version.
2019-01-15 10:17:11 +01:00
Jeremy Benoist 5419a8368e
Merge remote-tracking branch 'origin/master' into 2.4 2019-01-15 09:41:18 +01:00
Jeremy Benoist 78e3fafa3f
Avoid error when a bad order parameter is given
Only allowed parameter are asc & desc
2019-01-14 17:01:21 +01:00
Jérémy Benoist 3625833b2c
Merge pull request #3826 from wallabag/epub-toc
Rework of EPUB/PDF exports
2019-01-11 13:34:38 +01:00
Jérémy Benoist 03663530ed
Merge pull request #3831 from wallabag/fix/api-bad-client-id
Cast client id to avoid PG error
2019-01-10 17:03:03 +01:00
Jeremy Benoist 3a2d4cf9fd
Cast client id to avoid PG error
If someone send a malformated client_id when trying to authenticate using the API we got a 500 if wallabag use postgres because the request send a string instead of an integer.
2019-01-09 23:31:14 +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
Jérémy Benoist d2aec7096d
Merge pull request #3820 from lizyn/bugfix/incorrect-calculation-of-CJK-characters-in-reading-time-estimation
Fix incorrect reading time calculation for entries with CJK characters
2019-01-07 10:17:29 +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
Kevin Decherf 6c40d7fc85 TagRestController: fix test for tag without entries
As the deletion now requires that at least one entry for the user must
be linked to the given tag, we fix the test testDeleteUserTag by linking
it to an entry.

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-30 01:34:49 +01:00
Kevin Decherf 0ee9848231 TagRestController: add tests to ensure that other user's tags are unreachable
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2018-12-30 01:34:49 +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 b13b2ef052
CS 2018-11-28 22:04:55 +01:00
Jeremy Benoist 8f2038e5b1
Fix tests 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