Compare commits

...

282 Commits
2.5.0 ... 2.5.4

Author SHA1 Message Date
055d304bc9 Merge pull request #6291 from wallabag/release/2.5.4
Prepare 2.5.4
2023-02-07 22:20:00 +01:00
812d6ac376 Prepare 2.5.4 2023-02-07 22:03:20 +01:00
268372dbbd Merge pull request #6289 from wallabag/2.5/fix-csrf-user-deletion
Fix CSRF on user deletion
2023-02-07 21:52:51 +01:00
4e023bddc3 Merge pull request #6288 from wallabag/2.5/xss-username-share-page
Fix XSS on username on share page
2023-02-07 21:43:04 +01:00
acd285dcbb Merge pull request #6290 from wallabag/2.5/fix-add-tag-other-entries
Fix adding tag to entries from other people
2023-02-07 21:42:46 +01:00
f1b3d5cdd7 Fix CSRF on user deletion 2023-02-07 21:41:52 +01:00
242e3feac9 Fix adding tag to entries from other people
I've also limited tag length to 20 chars (and limit adding more than 5 tags at once)
2023-02-07 21:25:57 +01:00
bd4c71682e Fix XSS on username on share page 2023-02-07 19:58:06 +01:00
784bc1393c Merge pull request #6275 from wallabag/2.x/fix-release-script
Fix release script
2023-02-06 10:13:57 +01:00
42b03d2834 Fix release script
The release script cloned the master branch by default because we never have to clone something else from now.
The script will now clone the tag using the given VERSION parameter.
2023-02-03 10:10:35 +01:00
8954100779 Merge pull request #6267 from wallabag/release/2.5.3
Prepare 2.5.3
2023-02-01 10:15:18 +01:00
b795622f06 Prepare 2.5.3 2023-02-01 09:51:02 +01:00
5ac6b6bff9 Merge pull request from GHSA-mrqx-mjc4-vfh3
AnnotationController: fix improper authorization vulnerability
2023-02-01 09:32:22 +01:00
0f7460dbab Merge pull request from GHSA-qwx8-mxxx-mg96
ExportController: fix improper authorization vulnerability
2023-02-01 09:30:43 +01:00
3ed7f2b751 AnnotationController: fix improper authorization vulnerability
This PR is based on 2.5.x branch.

We fix the improper authorization by retrieving the annotation using id
and user id.

We also replace the ParamConverter used to get the requested Annotation
on put and delete actions with an explicit call to AnnotationRepository
in order to prevent a resource enumeration through response discrepancy.

Fixes GHSA-mrqx-mjc4-vfh3

Co-authored-by: Jeremy Benoist <jeremy.benoist@gmail.com>
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2023-01-27 23:34:14 +01:00
0fdd9aa991 ExportController: fix improper authorization vulnerability
We fix the improper authorization by duplicating the check done by
the private method EntryController::checkUserAction().

We also replace the ParamConverter used to get the requested Entry with
an explicit call to EntryRepository in order to prevent a resource
enumeration through response discrepancy. Thus, we get the same
exception whether the requested resource does not exist or is not owned
by the requester.

Fixes GHSA-qwx8-mxxx-mg96

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2023-01-20 15:09:38 +01:00
9e9aedee94 Merge pull request #6241 from wallabag/fix/2.5/update-deps
Update deps before 2.5.3
2023-01-16 10:26:47 +01:00
ea189503de Fix tests 2023-01-16 10:21:37 +01:00
b50197664e Update deps before 2.5.3
At least, site config will be up to date.
2023-01-16 10:07:06 +01:00
63b7b1c18f Merge pull request #6026 from wallabag/release/2.5.2 2022-10-21 06:43:56 +02:00
7b2107d3bb Prepare 2.5.2 2022-10-20 16:00:16 +02:00
14801e36d0 Merge pull request #6025 from weblate/weblate-wallabag-messages 2022-10-20 05:55:23 +02:00
08ce432cea Translated using Weblate (Japanese)
Currently translated at 97.7% (565 of 578 strings)
2022-10-20 02:07:40 +02:00
809e41fe6b Translated using Weblate (Japanese)
Currently translated at 100.0% (40 of 40 strings)
2022-10-20 02:07:39 +02:00
ce79140426 Merge pull request #5992 from wallabag/feature/download-svg-locally
Add support to download SVG locally
2022-10-18 11:38:31 +02:00
dc28d7ea0f Add support to download SVG locally 2022-10-18 11:14:45 +02:00
3340262707 Merge pull request #6019 from yotamN/feature/domain-name-filter
Add `domain_name` to entries api endpoint
2022-10-17 21:54:05 +02:00
d4b0b62bb5 Fix unrelated failing test
LExpansion is down ATM.
Use a website which isn't down randomly.
2022-10-17 21:49:03 +02:00
7b150dcd26 Add tests 2022-10-17 21:37:08 +02:00
24ae1dbc95 Merge pull request #6023 from wallabag/dependabot/npm_and_yarn/postcss-8.4.18
Bump postcss from 8.4.17 to 8.4.18
2022-10-17 02:23:45 +00:00
3ddfe3315a Bump postcss from 8.4.17 to 8.4.18
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.17 to 8.4.18.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.17...8.4.18)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 02:19:36 +00:00
4d318ff559 Merge pull request #6022 from wallabag/dependabot/npm_and_yarn/stylelint-14.14.0
Bump stylelint from 14.13.0 to 14.14.0
2022-10-17 02:14:54 +00:00
ee715e8b81 Merge pull request #6021 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.19.4
Bump @babel/preset-env from 7.19.3 to 7.19.4
2022-10-17 02:10:08 +00:00
1d9137a343 Bump stylelint from 14.13.0 to 14.14.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.13.0 to 14.14.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.13.0...14.14.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 02:06:24 +00:00
7f31603203 Bump @babel/preset-env from 7.19.3 to 7.19.4
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.3 to 7.19.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.4/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 02:05:59 +00:00
f994ab8b5d Add domain_name to entries api endpoint 2022-10-16 18:36:41 +03:00
e67e557721 Merge pull request #6016 from weblate/weblate-wallabag-messages 2022-10-13 07:13:46 +02:00
6f750a3b66 Translated using Weblate (Italian)
Currently translated at 82.3% (476 of 578 strings)
2022-10-13 00:29:42 +02:00
3589aafbff Merge pull request #6015 from weblate/weblate-wallabag-messages
Translations update from Hosted Weblate
2022-10-12 09:05:31 +02:00
6569d15297 Translated using Weblate (Italian)
Currently translated at 82.5% (33 of 40 strings)
2022-10-11 23:29:17 +02:00
a4ea04c9db Merge pull request #6013 from wallabag/fix/random-failing-test
Fix random failing tests
2022-10-10 09:43:19 +02:00
53574f05d5 Fix random failing tests
Looks like `20minutos.es` sometimes does not return the expected language.
Switching to `elpais.com` fix the problem.
2022-10-10 09:15:26 +02:00
cb8f50307c Merge pull request #6011 from wallabag/dependabot/npm_and_yarn/eslint-8.25.0
Bump eslint from 8.24.0 to 8.25.0
2022-10-10 07:09:50 +00:00
4f16640d90 Merge pull request #6012 from wallabag/dependabot/github_actions/dependabot/fetch-metadata-1.3.4
Bump dependabot/fetch-metadata from 1.3.1 to 1.3.4
2022-10-10 09:06:24 +02:00
a34750b5ee Bump dependabot/fetch-metadata from 1.3.1 to 1.3.4
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.1 to 1.3.4.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.1...v1.3.4)

---
updated-dependencies:
- dependency-name: dependabot/fetch-metadata
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 02:16:51 +00:00
3b1e4e027b Merge pull request #6010 from wallabag/dependabot/npm_and_yarn/sass-loader-13.1.0
Bump sass-loader from 13.0.2 to 13.1.0
2022-10-10 02:10:31 +00:00
1dc6e88cd2 Bump eslint from 8.24.0 to 8.25.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.24.0 to 8.25.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.24.0...v8.25.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 02:06:09 +00:00
4c79004d84 Bump sass-loader from 13.0.2 to 13.1.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 13.0.2 to 13.1.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v13.0.2...v13.1.0)

---
updated-dependencies:
- dependency-name: sass-loader
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-10 02:05:50 +00:00
639bba031f Merge pull request #6004 from nexxai/master 2022-10-04 08:12:26 +02:00
6da76ffaae Typofixes 2022-10-03 18:31:43 -06:00
ed777871c0 Merge pull request #6003 from wallabag/fix/auto-merge-js-deps
Allow auto merging of Dependabot JS minor or patch
2022-10-03 09:55:11 +02:00
f2f542d093 Allow auto merging of Dependabot JS minor or patch
Reducing the time consuming of merging deps which shouldn't break the project
2022-10-03 09:39:31 +02:00
a5dd42958f Merge pull request #5998 from wallabag/dependabot/npm_and_yarn/postcss-8.4.17 2022-10-03 06:55:40 +02:00
46dec2de03 Merge pull request #5999 from wallabag/dependabot/npm_and_yarn/stylelint-14.13.0 2022-10-03 06:20:34 +02:00
a272abf9cd Merge pull request #6000 from wallabag/dependabot/npm_and_yarn/babel/core-7.19.3 2022-10-03 06:20:17 +02:00
6e2b9dc9e0 Merge pull request #6001 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.19.3 2022-10-03 06:19:59 +02:00
7ca3b15359 Bump @babel/preset-env from 7.19.1 to 7.19.3
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.1 to 7.19.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.3/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 02:14:57 +00:00
0c80ff1054 Bump @babel/core from 7.19.1 to 7.19.3
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.19.1 to 7.19.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.3/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 02:14:39 +00:00
b30914b847 Bump stylelint from 14.12.1 to 14.13.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.12.1 to 14.13.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.12.1...14.13.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 02:14:00 +00:00
ad93db45ef Bump postcss from 8.4.16 to 8.4.17
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.16 to 8.4.17.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.16...8.4.17)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 02:13:38 +00:00
4ce1b50aeb Merge pull request #5989 from wallabag/dependabot/npm_and_yarn/autoprefixer-10.4.12
Bump autoprefixer from 10.4.11 to 10.4.12
2022-09-26 10:47:43 +02:00
6c84f6c04e Rebuild assets 2022-09-26 10:38:18 +02:00
9c5feb64f3 Merge pull request #5985 from wallabag/dependabot/npm_and_yarn/stylelint-14.12.1
Bump stylelint from 14.12.0 to 14.12.1
2022-09-26 09:21:02 +02:00
d7829ff5fd Bump stylelint from 14.12.0 to 14.12.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.12.0 to 14.12.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.12.0...14.12.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 05:01:09 +00:00
36c9a5ec45 Bump autoprefixer from 10.4.11 to 10.4.12
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.11 to 10.4.12.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.11...10.4.12)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 05:00:57 +00:00
2aff236941 Merge pull request #5986 from wallabag/dependabot/npm_and_yarn/eslint-8.24.0 2022-09-26 06:59:29 +02:00
ed4022e8fb Merge pull request #5987 from wallabag/dependabot/npm_and_yarn/webpack-dev-server-4.11.1 2022-09-26 06:59:14 +02:00
254399bd38 Merge pull request #5988 from wallabag/dependabot/npm_and_yarn/sass-1.55.0 2022-09-26 06:58:58 +02:00
dedaa29c8d Bump sass from 1.54.9 to 1.55.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.54.9 to 1.55.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.9...1.55.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 02:09:56 +00:00
b695b4c40f Bump webpack-dev-server from 4.11.0 to 4.11.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.11.0 to 4.11.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.11.0...v4.11.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 02:09:31 +00:00
792363e695 Bump eslint from 8.23.1 to 8.24.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.1 to 8.24.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.1...v8.24.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 02:08:56 +00:00
1a49567d0c Merge pull request #5984 from wallabag/fix/api-tags-nb-entries
Add `nbEntries` to the API tags list response
2022-09-23 16:03:24 +02:00
812b4a906f Add nbEntries to the API tags list response
So client will be able to do the same as in the web UI.

Also remove empty `div` from the tags template.
2022-09-23 15:16:38 +02:00
a452bb6204 Merge pull request #5980 from weblate/weblate-wallabag-messages 2022-09-22 07:05:50 +02:00
b768371a13 Translated using Weblate (German)
Currently translated at 100.0% (578 of 578 strings)
2022-09-22 00:19:06 +02:00
3095d0f178 Merge pull request #5977 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.19.1
Bump @babel/preset-env from 7.19.0 to 7.19.1
2022-09-19 09:40:36 +02:00
4783b01355 Bump @babel/preset-env from 7.19.0 to 7.19.1
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.19.0 to 7.19.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.1/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 07:33:35 +00:00
8111a55b79 Merge pull request #5975 from wallabag/dependabot/npm_and_yarn/autoprefixer-10.4.11
Bump autoprefixer from 10.4.9 to 10.4.11
2022-09-19 09:29:37 +02:00
fab2e7d196 Merge pull request #5979 from wallabag/dependabot/npm_and_yarn/babel/core-7.19.1
Bump @babel/core from 7.19.0 to 7.19.1
2022-09-19 09:29:14 +02:00
badc02d6b8 Merge pull request #5972 from weblate/weblate-wallabag-messages
Translations update from Hosted Weblate
2022-09-19 09:28:50 +02:00
03763e7753 Bump @babel/core from 7.19.0 to 7.19.1
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.19.0 to 7.19.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.1/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 07:05:55 +00:00
c94d981083 Bump autoprefixer from 10.4.9 to 10.4.11
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.9 to 10.4.11.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.9...10.4.11)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 07:04:31 +00:00
db25a7f5d8 Translated using Weblate (Polish)
Currently translated at 100.0% (7 of 7 strings)
2022-09-19 09:02:44 +02:00
1baf6eeafd Translated using Weblate (Polish)
Currently translated at 100.0% (40 of 40 strings)
2022-09-19 09:02:44 +02:00
f1dde1ac80 Translated using Weblate (Polish)
Currently translated at 100.0% (578 of 578 strings)
2022-09-19 09:02:44 +02:00
52312ed9f5 Merge pull request #5978 from wallabag/dependabot/npm_and_yarn/postcss-scss-4.0.5
Bump postcss-scss from 4.0.4 to 4.0.5
2022-09-19 09:02:39 +02:00
210eca58ed Merge pull request #5974 from wallabag/dependabot/npm_and_yarn/stylelint-14.12.0
Bump stylelint from 14.11.0 to 14.12.0
2022-09-19 09:02:20 +02:00
b8a9ba8063 Merge pull request #5976 from wallabag/dependabot/npm_and_yarn/eslint-8.23.1
Bump eslint from 8.23.0 to 8.23.1
2022-09-19 09:02:00 +02:00
e3a6133046 Merge pull request #5973 from wallabag/dependabot/npm_and_yarn/babel/eslint-parser-7.19.1
Bump @babel/eslint-parser from 7.18.9 to 7.19.1
2022-09-19 09:01:42 +02:00
7459ed1459 Bump postcss-scss from 4.0.4 to 4.0.5
Bumps [postcss-scss](https://github.com/postcss/postcss-scss) from 4.0.4 to 4.0.5.
- [Release notes](https://github.com/postcss/postcss-scss/releases)
- [Changelog](https://github.com/postcss/postcss-scss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-scss/compare/4.0.4...4.0.5)

---
updated-dependencies:
- dependency-name: postcss-scss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 02:09:39 +00:00
21b6121726 Bump eslint from 8.23.0 to 8.23.1
Bumps [eslint](https://github.com/eslint/eslint) from 8.23.0 to 8.23.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.23.0...v8.23.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 02:08:33 +00:00
bac0da8f36 Bump stylelint from 14.11.0 to 14.12.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.11.0 to 14.12.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.11.0...14.12.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 02:07:41 +00:00
d729fe8583 Bump @babel/eslint-parser from 7.18.9 to 7.19.1
Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.18.9 to 7.19.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.1/eslint/babel-eslint-parser)

---
updated-dependencies:
- dependency-name: "@babel/eslint-parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-19 02:07:10 +00:00
94a710c578 Merge pull request #5962 from wallabag/dependabot/npm_and_yarn/autoprefixer-10.4.9
Bump autoprefixer from 10.4.8 to 10.4.9
2022-09-12 12:55:20 +02:00
d80126c19f Update assets 2022-09-12 12:43:35 +02:00
a4f4c5902f Bump autoprefixer from 10.4.8 to 10.4.9
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.8 to 10.4.9.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.8...10.4.9)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 05:27:14 +00:00
1e042a2d60 Merge pull request #5961 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.19.0 2022-09-12 07:25:17 +02:00
e90a2dce4d Bump @babel/preset-env from 7.18.10 to 7.19.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.10 to 7.19.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.0/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 05:15:01 +00:00
1423c667b2 Merge pull request #5963 from wallabag/dependabot/npm_and_yarn/sass-1.54.9 2022-09-12 07:11:24 +02:00
24f6f253f6 Merge pull request #5964 from wallabag/dependabot/npm_and_yarn/node-sass-7.0.3 2022-09-12 07:11:05 +02:00
8620aac6b6 Merge pull request #5965 from wallabag/dependabot/npm_and_yarn/webpack-dev-server-4.11.0 2022-09-12 07:10:49 +02:00
669e6f44dc Merge pull request #5966 from wallabag/dependabot/npm_and_yarn/babel/core-7.19.0 2022-09-12 07:10:32 +02:00
101a2e14e5 Bump @babel/core from 7.18.13 to 7.19.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.13 to 7.19.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.0/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 02:09:58 +00:00
c7e04eb294 Bump webpack-dev-server from 4.10.1 to 4.11.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.10.1 to 4.11.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.10.1...v4.11.0)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 02:09:40 +00:00
cedb0fe342 Bump node-sass from 7.0.1 to 7.0.3
Bumps [node-sass](https://github.com/sass/node-sass) from 7.0.1 to 7.0.3.
- [Release notes](https://github.com/sass/node-sass/releases)
- [Changelog](https://github.com/sass/node-sass/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sass/node-sass/compare/v7.0.1...v7.0.3)

---
updated-dependencies:
- dependency-name: node-sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 02:09:16 +00:00
5514932979 Bump sass from 1.54.8 to 1.54.9
Bumps [sass](https://github.com/sass/dart-sass) from 1.54.8 to 1.54.9.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.8...1.54.9)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-12 02:08:46 +00:00
5554414d79 Merge pull request #5957 from wallabag/dependabot/npm_and_yarn/webpack-dev-server-4.10.1 2022-09-05 19:53:33 +02:00
63ece0e41c Merge pull request #5958 from wallabag/dependabot/npm_and_yarn/terser-webpack-plugin-5.3.6 2022-09-05 19:44:13 +02:00
03900a54c0 Merge pull request #5956 from wallabag/dependabot/npm_and_yarn/sass-1.54.8 2022-09-05 19:43:33 +02:00
ed6b0fbd9f Bump terser-webpack-plugin from 5.3.5 to 5.3.6
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.3.5 to 5.3.6.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.3.5...v5.3.6)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 12:58:28 +00:00
86b136f65f Bump webpack-dev-server from 4.10.0 to 4.10.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.10.0 to 4.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.10.0...v4.10.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 12:58:13 +00:00
d73b9275f2 Bump sass from 1.54.5 to 1.54.8
Bumps [sass](https://github.com/sass/dart-sass) from 1.54.5 to 1.54.8.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.5...1.54.8)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-05 12:58:01 +00:00
ff3a670e19 Merge pull request #5955 from weblate/weblate-wallabag-messages 2022-09-05 06:35:35 +02:00
dab677fbc3 Translated using Weblate (Polish)
Currently translated at 100.0% (40 of 40 strings)
2022-09-04 10:18:32 +02:00
94a84d3d1d Merge pull request #5948 from wallabag/dependabot/npm_and_yarn/jquery-3.6.1
Bump jquery from 3.6.0 to 3.6.1
2022-08-30 13:22:01 +02:00
fe4864f50f Rebuild assets 2022-08-30 13:09:14 +02:00
d300c3efc1 Merge pull request #5947 from wallabag/dependabot/npm_and_yarn/stylelint-config-standard-28.0.0 2022-08-29 06:50:52 +02:00
b30b460ba1 Merge pull request #5949 from wallabag/dependabot/npm_and_yarn/eslint-8.23.0 2022-08-29 06:49:26 +02:00
58572d8005 Bump eslint from 8.22.0 to 8.23.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.22.0 to 8.23.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.22.0...v8.23.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 02:10:35 +00:00
ea8623d899 Bump jquery from 3.6.0 to 3.6.1
Bumps [jquery](https://github.com/jquery/jquery) from 3.6.0 to 3.6.1.
- [Release notes](https://github.com/jquery/jquery/releases)
- [Commits](https://github.com/jquery/jquery/compare/3.6.0...3.6.1)

---
updated-dependencies:
- dependency-name: jquery
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 02:10:16 +00:00
4a3d767202 Bump stylelint-config-standard from 26.0.0 to 28.0.0
Bumps [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) from 26.0.0 to 28.0.0.
- [Release notes](https://github.com/stylelint/stylelint-config-standard/releases)
- [Changelog](https://github.com/stylelint/stylelint-config-standard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint-config-standard/compare/26.0.0...28.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 02:09:51 +00:00
8fb6a91d56 Merge pull request #5944 from weblate/weblate-wallabag-messages
Translations update from Hosted Weblate
2022-08-26 16:25:17 +02:00
cbe77537b1 Translated using Weblate (Chinese (Traditional))
Currently translated at 13.4% (78 of 578 strings)
2022-08-26 04:20:12 +02:00
873f1358b0 Translated using Weblate (Chinese (Traditional))
Currently translated at 12.5% (5 of 40 strings)
2022-08-26 04:20:08 +02:00
b73491e822 Merge pull request #5942 from wallabag/dependabot/npm_and_yarn/babel/core-7.18.13
Bump @babel/core from 7.18.9 to 7.18.13
2022-08-22 20:55:16 +02:00
3e7494bef6 Merge pull request #5941 from wallabag/dependabot/npm_and_yarn/stylelint-14.11.0
Bump stylelint from 14.9.1 to 14.11.0
2022-08-22 20:54:29 +02:00
3b9b1fd611 Merge pull request #5937 from weblate/weblate-wallabag-messages
Translations update from Hosted Weblate
2022-08-22 20:52:19 +02:00
47ce4182d9 Bump stylelint from 14.9.1 to 14.11.0
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.9.1 to 14.11.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.9.1...14.11.0)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 18:37:58 +00:00
1d490f7712 Merge pull request #5939 from wallabag/dependabot/npm_and_yarn/terser-webpack-plugin-5.3.5
Bump terser-webpack-plugin from 5.3.4 to 5.3.5
2022-08-22 20:35:23 +02:00
e81f8043b3 Translated using Weblate (German)
Currently translated at 100.0% (7 of 7 strings)
2022-08-22 20:21:11 +02:00
7f05c5e583 Merge pull request #5910 from iamvar/gitattributes
Add .gitattributes, exclude tests from archive
2022-08-22 20:21:05 +02:00
32428194cc Bump @babel/core from 7.18.9 to 7.18.13
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.9 to 7.18.13.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.13/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 18:16:04 +00:00
44b9cb5fff Merge pull request #5940 from wallabag/dependabot/npm_and_yarn/sass-1.54.5
Bump sass from 1.54.4 to 1.54.5
2022-08-22 20:14:59 +02:00
fd5fbaaefc Merge pull request #5922 from wallabag/dependabot/npm_and_yarn/postcss-8.4.16
Bump postcss from 8.4.14 to 8.4.16
2022-08-22 20:14:01 +02:00
e7b43150b3 Bump terser-webpack-plugin from 5.3.4 to 5.3.5
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.3.4 to 5.3.5.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.3.4...v5.3.5)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 18:13:44 +00:00
e03cf56757 Merge pull request #5920 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.18.10
Bump @babel/preset-env from 7.18.9 to 7.18.10
2022-08-22 20:12:05 +02:00
ad4ea3abcc Merge pull request #5912 from wallabag/dependabot/npm_and_yarn/webpack-5.74.0
Bump webpack from 5.73.0 to 5.74.0
2022-08-22 20:11:45 +02:00
12ac1597cb Bump sass from 1.54.4 to 1.54.5
Bumps [sass](https://github.com/sass/dart-sass) from 1.54.4 to 1.54.5.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.4...1.54.5)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 18:05:07 +00:00
2872dbc876 Bump postcss from 8.4.14 to 8.4.16
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.14 to 8.4.16.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.14...8.4.16)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 18:05:03 +00:00
ee1b2af5b7 Bump @babel/preset-env from 7.18.9 to 7.18.10
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.9 to 7.18.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.10/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 18:04:55 +00:00
6e4b650c04 Bump webpack from 5.73.0 to 5.74.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.73.0 to 5.74.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.73.0...v5.74.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-22 18:04:44 +00:00
abcbbc9043 Merge pull request #5911 from wallabag/dependabot/npm_and_yarn/autoprefixer-10.4.8
Bump autoprefixer from 10.4.7 to 10.4.8
2022-08-22 20:03:22 +02:00
cd4105bbe9 Fix tests 2022-08-22 19:57:57 +02:00
c1dd6bab0b Rebuild assets 2022-08-22 19:53:24 +02:00
51c9c2285f Bump autoprefixer from 10.4.7 to 10.4.8
Bumps [autoprefixer](https://github.com/postcss/autoprefixer) from 10.4.7 to 10.4.8.
- [Release notes](https://github.com/postcss/autoprefixer/releases)
- [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/autoprefixer/compare/10.4.7...10.4.8)

---
updated-dependencies:
- dependency-name: autoprefixer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 12:59:18 +00:00
2e2cefc92f Merge pull request #5934 from wallabag/dependabot/npm_and_yarn/eslint-8.22.0
Bump eslint from 8.20.0 to 8.22.0
2022-08-15 14:57:14 +02:00
6d3450357b Bump eslint from 8.20.0 to 8.22.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.20.0 to 8.22.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.20.0...v8.22.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 14:52:35 +02:00
e58a801c4a Merge pull request #5933 from wallabag/dependabot/npm_and_yarn/sass-1.54.4
Bump sass from 1.54.0 to 1.54.4
2022-08-15 14:51:36 +02:00
e4a58711f9 Bump sass from 1.54.0 to 1.54.4
Bumps [sass](https://github.com/sass/dart-sass) from 1.54.0 to 1.54.4.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.54.0...1.54.4)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 14:44:12 +02:00
1da1458e3d Merge pull request #5916 from weblate/weblate-wallabag-messages
Translations update from Hosted Weblate
2022-08-15 13:18:39 +02:00
bc4e9aa908 Translated using Weblate (Galician)
Currently translated at 100.0% (578 of 578 strings)
2022-08-15 13:10:37 +02:00
0d90358d07 Merge pull request #5931 from wallabag/dependabot/npm_and_yarn/terser-webpack-plugin-5.3.4
Bump terser-webpack-plugin from 5.3.3 to 5.3.4
2022-08-15 13:10:33 +02:00
14c05e275e Merge pull request #5930 from wallabag/dependabot/npm_and_yarn/webpack-dev-server-4.10.0
Bump webpack-dev-server from 4.9.3 to 4.10.0
2022-08-15 13:09:21 +02:00
90920553eb Bump terser-webpack-plugin from 5.3.3 to 5.3.4
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.3.3...v5.3.4)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 02:05:09 +00:00
a5d1efd4d6 Bump webpack-dev-server from 4.9.3 to 4.10.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.9.3 to 4.10.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.3...v4.10.0)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 02:04:57 +00:00
a45c2ff658 Add .gitattributes, exclude tests from archive 2022-07-31 14:39:48 +03:00
57d018248c Merge pull request #5907 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.18.9 2022-07-25 06:38:00 +02:00
d1463d1073 Bump @babel/preset-env from 7.18.6 to 7.18.9
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.6 to 7.18.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.9/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 04:26:47 +00:00
ef60e561f4 Merge pull request #5908 from wallabag/dependabot/npm_and_yarn/babel/eslint-parser-7.18.9 2022-07-25 06:22:23 +02:00
496fdd44f7 Bump @babel/eslint-parser from 7.18.2 to 7.18.9
Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.18.2 to 7.18.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.9/eslint/babel-eslint-parser)

---
updated-dependencies:
- dependency-name: "@babel/eslint-parser"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 04:04:45 +00:00
e93c0b08c6 Merge pull request #5906 from wallabag/dependabot/npm_and_yarn/sass-1.54.0 2022-07-25 06:02:07 +02:00
5b491799c1 Merge pull request #5905 from wallabag/dependabot/npm_and_yarn/babel/core-7.18.9 2022-07-25 06:01:35 +02:00
c513147c94 Bump sass from 1.53.0 to 1.54.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.53.0 to 1.54.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.53.0...1.54.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 02:04:59 +00:00
51f9c1d96e Bump @babel/core from 7.18.6 to 7.18.9
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.6 to 7.18.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.9/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-25 02:04:31 +00:00
1c6bc9ab3f Merge pull request #5902 from weblate/weblate-wallabag-messages 2022-07-22 00:03:35 +02:00
67caee2e2c Translated using Weblate (Turkish)
Currently translated at 100.0% (40 of 40 strings)
2022-07-21 21:17:47 +02:00
c92622ff5e Translated using Weblate (Turkish)
Currently translated at 100.0% (578 of 578 strings)
2022-07-21 21:17:47 +02:00
b7a7936db2 Merge pull request #5901 from wallabag/dependabot/npm_and_yarn/terser-5.14.2
Bump terser from 5.14.0 to 5.14.2
2022-07-21 08:38:59 +02:00
55ee9b88eb Build assets 2022-07-21 08:23:35 +02:00
f6e0a9de33 Bump terser from 5.14.0 to 5.14.2
Bumps [terser](https://github.com/terser/terser) from 5.14.0 to 5.14.2.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/commits)

---
updated-dependencies:
- dependency-name: terser
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-21 05:50:24 +00:00
4d0d64579c Merge pull request #5898 from wallabag/dependabot/npm_and_yarn/highlight.js-11.6.0 2022-07-18 10:09:44 +02:00
787c569193 Rebuild assets
And update Composer deps
2022-07-18 09:52:22 +02:00
395c2de900 Bump highlight.js from 11.5.1 to 11.6.0
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 11.5.1 to 11.6.0.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/main/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/11.5.1...11.6.0)

---
updated-dependencies:
- dependency-name: highlight.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 09:52:21 +02:00
ff7f89e593 Merge pull request #5897 from wallabag/dependabot/npm_and_yarn/postcss-loader-7.0.1 2022-07-18 06:24:47 +02:00
f55865ba21 Merge pull request #5896 from wallabag/dependabot/npm_and_yarn/eslint-8.20.0 2022-07-18 06:24:27 +02:00
b8630964d5 Bump postcss-loader from 7.0.0 to 7.0.1
Bumps [postcss-loader](https://github.com/webpack-contrib/postcss-loader) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/webpack-contrib/postcss-loader/releases)
- [Changelog](https://github.com/webpack-contrib/postcss-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/postcss-loader/compare/v7.0.0...v7.0.1)

---
updated-dependencies:
- dependency-name: postcss-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 02:04:15 +00:00
2560950780 Bump eslint from 8.19.0 to 8.20.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.19.0 to 8.20.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.19.0...v8.20.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-18 02:04:03 +00:00
7130f4ea1b Merge pull request #5892 from wallabag/dependabot/npm_and_yarn/stylelint-scss-4.3.0 2022-07-11 06:57:40 +02:00
25db404dd3 Bump stylelint-scss from 4.2.0 to 4.3.0
Bumps [stylelint-scss](https://github.com/stylelint-scss/stylelint-scss) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/stylelint-scss/stylelint-scss/releases)
- [Changelog](https://github.com/stylelint-scss/stylelint-scss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint-scss/stylelint-scss/compare/v4.2.0...v4.3.0)

---
updated-dependencies:
- dependency-name: stylelint-scss
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-11 02:10:14 +00:00
3f6faa1ef6 Merge pull request #5882 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.18.6 2022-07-04 08:00:37 +02:00
62a0590ea8 Bump @babel/preset-env from 7.18.2 to 7.18.6
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.2 to 7.18.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.6/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 05:48:36 +00:00
66a8002c14 Merge pull request #5880 from wallabag/dependabot/npm_and_yarn/sass-loader-13.0.2 2022-07-04 07:46:21 +02:00
7e79a69fa2 Merge pull request #5881 from wallabag/dependabot/npm_and_yarn/eslint-8.19.0 2022-07-04 07:46:05 +02:00
04139ca45e Merge pull request #5883 from wallabag/dependabot/npm_and_yarn/babel/core-7.18.6 2022-07-04 07:45:42 +02:00
f22e98c65f Merge pull request #5884 from wallabag/dependabot/npm_and_yarn/webpack-dev-server-4.9.3 2022-07-04 07:45:26 +02:00
7af78ae542 Bump webpack-dev-server from 4.9.2 to 4.9.3
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.9.2 to 4.9.3.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.2...v4.9.3)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 02:05:25 +00:00
84746674ea Bump @babel/core from 7.18.5 to 7.18.6
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.5 to 7.18.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.6/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 02:05:08 +00:00
bbebba3f92 Bump eslint from 8.18.0 to 8.19.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.18.0 to 8.19.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.18.0...v8.19.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 02:03:34 +00:00
91d7533f90 Bump sass-loader from 13.0.1 to 13.0.2
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 13.0.1 to 13.0.2.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v13.0.1...v13.0.2)

---
updated-dependencies:
- dependency-name: sass-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-04 02:03:23 +00:00
37f13a2275 Merge pull request #5875 from wallabag/dependabot/npm_and_yarn/sass-1.53.0 2022-06-27 06:40:01 +02:00
83e6fb11ea Bump sass from 1.52.3 to 1.53.0
Bumps [sass](https://github.com/sass/dart-sass) from 1.52.3 to 1.53.0.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.52.3...1.53.0)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 04:28:27 +00:00
1d324f368d Merge pull request #5874 from wallabag/dependabot/npm_and_yarn/eslint-webpack-plugin-3.2.0 2022-06-27 06:19:53 +02:00
0952142785 Merge pull request #5876 from wallabag/dependabot/npm_and_yarn/sass-loader-13.0.1 2022-06-27 06:18:56 +02:00
b7b61a40a1 Bump sass-loader from 13.0.0 to 13.0.1
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 13.0.0 to 13.0.1.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v13.0.0...v13.0.1)

---
updated-dependencies:
- dependency-name: sass-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 02:22:13 +00:00
0e8bbfdbab Bump eslint-webpack-plugin from 3.1.1 to 3.2.0
Bumps [eslint-webpack-plugin](https://github.com/webpack-contrib/eslint-webpack-plugin) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/webpack-contrib/eslint-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/eslint-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/eslint-webpack-plugin/compare/v3.1.1...v3.2.0)

---
updated-dependencies:
- dependency-name: eslint-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-27 02:21:12 +00:00
cfb60af0c2 Merge pull request #5866 from wallabag/dependabot/npm_and_yarn/eslint-8.18.0 2022-06-21 06:47:14 +02:00
d787d3cdd2 Merge pull request #5867 from wallabag/dependabot/npm_and_yarn/stylelint-config-standard-26.0.0 2022-06-21 06:46:52 +02:00
075c44552f Merge pull request #5868 from wallabag/dependabot/npm_and_yarn/babel/core-7.18.5 2022-06-21 06:46:31 +02:00
9e0c57c349 Merge pull request #5869 from wallabag/dependabot/npm_and_yarn/mini-css-extract-plugin-2.6.1 2022-06-21 06:46:16 +02:00
7f4eedd833 Bump mini-css-extract-plugin from 2.6.0 to 2.6.1
Bumps [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin) from 2.6.0 to 2.6.1.
- [Release notes](https://github.com/webpack-contrib/mini-css-extract-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/mini-css-extract-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/mini-css-extract-plugin/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: mini-css-extract-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 02:03:15 +00:00
3801f14c0a Bump @babel/core from 7.18.2 to 7.18.5
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.2 to 7.18.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.5/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 02:02:58 +00:00
3c70c00e40 Bump stylelint-config-standard from 25.0.0 to 26.0.0
Bumps [stylelint-config-standard](https://github.com/stylelint/stylelint-config-standard) from 25.0.0 to 26.0.0.
- [Release notes](https://github.com/stylelint/stylelint-config-standard/releases)
- [Changelog](https://github.com/stylelint/stylelint-config-standard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint-config-standard/compare/25.0.0...26.0.0)

---
updated-dependencies:
- dependency-name: stylelint-config-standard
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 02:02:44 +00:00
2f7e2cf6b2 Bump eslint from 8.17.0 to 8.18.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.17.0 to 8.18.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.17.0...v8.18.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 02:02:30 +00:00
a84ca8a525 Merge pull request #5862 from weblate/weblate-wallabag-messages
Translations update from Hosted Weblate
2022-06-15 10:07:51 +02:00
821093c033 Translated using Weblate (German)
Currently translated at 99.1% (573 of 578 strings)
2022-06-15 10:00:18 +02:00
10f96ec555 Merge pull request #5855 from wallabag/dependabot/npm_and_yarn/mathjax-3.2.2
Bump mathjax from 3.2.1 to 3.2.2
2022-06-13 09:23:43 +02:00
a177bccdbf Rebuild assets 2022-06-13 09:18:25 +02:00
dda2190e1b Merge pull request #5854 from weblate/weblate-wallabag-messages 2022-06-13 06:14:38 +02:00
Gil
e50f2daf76 Translated using Weblate (Portuguese)
Currently translated at 62.6% (362 of 578 strings)
2022-06-13 06:02:08 +02:00
274d6d325c Translated using Weblate (Croatian)
Currently translated at 100.0% (578 of 578 strings)
2022-06-13 06:02:08 +02:00
1f4de1bc51 Translated using Weblate (Croatian)
Currently translated at 100.0% (40 of 40 strings)
2022-06-13 06:02:08 +02:00
519af0781c Merge pull request #5856 from wallabag/dependabot/npm_and_yarn/stylelint-14.9.1 2022-06-13 06:02:04 +02:00
8ddafbf5a4 Merge pull request #5857 from wallabag/dependabot/npm_and_yarn/webpack-cli-4.10.0 2022-06-13 06:01:44 +02:00
31da1c6a05 Merge pull request #5858 from wallabag/dependabot/npm_and_yarn/sass-1.52.3 2022-06-13 06:01:21 +02:00
5edc1625c3 Bump sass from 1.52.2 to 1.52.3
Bumps [sass](https://github.com/sass/dart-sass) from 1.52.2 to 1.52.3.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.52.2...1.52.3)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 02:03:53 +00:00
ddb367cdcc Bump webpack-cli from 4.9.2 to 4.10.0
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.9.2 to 4.10.0.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.9.2...webpack-cli@4.10.0)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 02:03:41 +00:00
4ce4cc94ea Bump stylelint from 14.8.5 to 14.9.1
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.8.5 to 14.9.1.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.8.5...14.9.1)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 02:03:31 +00:00
805d40d658 Bump mathjax from 3.2.1 to 3.2.2
Bumps [mathjax](https://github.com/mathjax/MathJax) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/mathjax/MathJax/releases)
- [Commits](https://github.com/mathjax/MathJax/compare/3.2.1...3.2.2)

---
updated-dependencies:
- dependency-name: mathjax
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-13 02:03:18 +00:00
437f2c5909 Merge pull request #5851 from wallabag/release/automate-package-creation 2022-06-09 11:53:43 +02:00
aa029ea73e Automatically create the package after a release
And then upload it to the created release.
One less step during the release process 💪

We are using that GitHub Actions: https://github.com/shogo82148/actions-upload-release-asset

I've also:
- updated the release script to clone the repo using `https` instead of `git` (otherwise it failed during the build)
- use `md5sum` instead of `md5` because the latest isn't available in GitHub Actions
2022-06-09 11:30:14 +02:00
53ce0b91b5 Merge pull request #5850 from weblate/weblate-wallabag-messages 2022-06-09 07:49:01 +02:00
14a1755445 Translated using Weblate (French)
Currently translated at 100.0% (578 of 578 strings)
2022-06-09 07:16:39 +02:00
652e0e63bc Merge pull request #5849 from wallabag/release/2.5.1 2022-06-09 06:36:16 +02:00
c2ef197726 Prepare 2.5.1
And also update Composer & Yarn deps.
2022-06-08 23:13:37 +02:00
a505e9a1b5 docker: bump nodejs to 16
Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2022-06-08 23:13:37 +02:00
b9e25a8810 Merge pull request #5840 from wallabag/fix/chip
material: fix "untagged entries" chip style
2022-06-08 07:15:14 +02:00
1d1c2a3311 material: fix "untagged entries" chip style
The longest translated string for "Untagged entries" seems to be the
greek "Καταχωρίσεις χωρίς ετικέτες"

Fixes #5632

Signed-off-by: Kevin Decherf <kevin@kdecherf.com>
2022-06-07 14:42:14 +02:00
88a92dd734 Merge pull request #5848 from wallabag/dependabot/npm_and_yarn/webpack-dev-server-4.9.2 2022-06-07 08:23:29 +02:00
d66a320d4f Bump webpack-dev-server from 4.9.0 to 4.9.2
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.9.0 to 4.9.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.0...v4.9.2)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 06:16:59 +00:00
9d804b9386 Merge pull request #5841 from wallabag/dependabot/npm_and_yarn/terser-webpack-plugin-5.3.3 2022-06-07 08:00:27 +02:00
850cb539fd Merge pull request #5842 from wallabag/dependabot/npm_and_yarn/sass-1.52.2 2022-06-07 08:00:11 +02:00
18f57c58a9 Merge pull request #5843 from wallabag/dependabot/npm_and_yarn/webpack-dev-server-4.9.1 2022-06-07 07:59:56 +02:00
d523fbb024 Merge pull request #5844 from wallabag/dependabot/npm_and_yarn/webpack-5.73.0 2022-06-07 07:59:37 +02:00
901a320cb3 Merge pull request #5845 from wallabag/dependabot/npm_and_yarn/eslint-8.17.0 2022-06-07 07:59:22 +02:00
d57694bfc9 Merge pull request #5846 from weblate/weblate-wallabag-messages 2022-06-07 07:06:23 +02:00
932a1cb422 Translated using Weblate (Hungarian)
Currently translated at 54.8% (317 of 578 strings)
2022-06-06 20:14:33 +02:00
e934516b28 Translated using Weblate (Thai)
Currently translated at 78.3% (453 of 578 strings)
2022-06-06 20:14:33 +02:00
6999f32020 Translated using Weblate (Portuguese)
Currently translated at 62.4% (361 of 578 strings)
2022-06-06 20:14:32 +02:00
9a5821eb09 Translated using Weblate (Polish)
Currently translated at 86.8% (502 of 578 strings)
2022-06-06 20:14:32 +02:00
67e1bb06b7 Translated using Weblate (Occitan)
Currently translated at 82.8% (479 of 578 strings)
2022-06-06 20:14:31 +02:00
a56c5d07ba Translated using Weblate (Italian)
Currently translated at 82.1% (475 of 578 strings)
2022-06-06 20:14:30 +02:00
338d8b25e2 Translated using Weblate (French)
Currently translated at 98.7% (571 of 578 strings)
2022-06-06 20:14:30 +02:00
024cae54e9 Bump eslint from 8.16.0 to 8.17.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.16.0 to 8.17.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.16.0...v8.17.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 02:04:32 +00:00
ed45f594d9 Bump webpack from 5.72.1 to 5.73.0
Bumps [webpack](https://github.com/webpack/webpack) from 5.72.1 to 5.73.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.72.1...v5.73.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 02:04:20 +00:00
9c32732f2a Bump webpack-dev-server from 4.9.0 to 4.9.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.9.0 to 4.9.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.9.0...v4.9.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 02:04:04 +00:00
eee16a9a4f Bump sass from 1.52.1 to 1.52.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.52.1 to 1.52.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.52.1...1.52.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 02:03:44 +00:00
9a8f298f8c Bump terser-webpack-plugin from 5.3.1 to 5.3.3
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.3.1 to 5.3.3.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.3.1...v5.3.3)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-06 02:03:25 +00:00
1bd1a6f6a0 Merge pull request #5833 from wallabag/fix/2fa-template-missing 2022-05-31 10:38:05 +02:00
d1bafed5ce Merge pull request #5834 from wallabag/fix/update-deps
Update some deps
2022-05-30 15:23:28 +02:00
8376fc4c08 Update some deps
Mostly to have some up to date site config.
2022-05-30 13:56:21 +02:00
031f5d27d8 Fix error about template not found
Following bundle inheritance removal
2022-05-30 13:40:26 +02:00
96b7b7b831 Merge pull request #5831 from wallabag/dependabot/npm_and_yarn/babel/core-7.18.2 2022-05-30 05:54:04 +02:00
212c96fd7d Merge pull request #5832 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.18.2 2022-05-30 05:53:46 +02:00
9a4df92333 Bump @babel/core from 7.18.0 to 7.18.2
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.18.0 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:46:54 +00:00
76fb37c538 Bump @babel/preset-env from 7.18.0 to 7.18.2
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.18.0 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 03:46:50 +00:00
3036a4f6ba Merge pull request #5830 from wallabag/dependabot/npm_and_yarn/stylelint-14.8.5 2022-05-30 05:45:25 +02:00
8a425e1008 Merge pull request #5829 from wallabag/dependabot/npm_and_yarn/babel/eslint-parser-7.18.2 2022-05-30 05:45:09 +02:00
bca556edff Bump stylelint from 14.8.3 to 14.8.5
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.8.3 to 14.8.5.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.8.3...14.8.5)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 02:02:37 +00:00
edf4e11301 Bump @babel/eslint-parser from 7.17.0 to 7.18.2
Bumps [@babel/eslint-parser](https://github.com/babel/babel/tree/HEAD/eslint/babel-eslint-parser) from 7.17.0 to 7.18.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.2/eslint/babel-eslint-parser)

---
updated-dependencies:
- dependency-name: "@babel/eslint-parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 02:02:27 +00:00
7ecee6bae3 Merge pull request #5820 from wallabag/dependabot/npm_and_yarn/sass-loader-13.0.0 2022-05-23 13:27:50 +02:00
1d0343b595 Bump sass-loader from 12.6.0 to 13.0.0
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 12.6.0 to 13.0.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v12.6.0...v13.0.0)

---
updated-dependencies:
- dependency-name: sass-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 10:09:48 +00:00
b6955fe278 Merge pull request #5812 from wallabag/dependabot/npm_and_yarn/postcss-loader-7.0.0 2022-05-23 12:07:24 +02:00
f26231066e Bump postcss-loader from 6.2.1 to 7.0.0
Bumps [postcss-loader](https://github.com/webpack-contrib/postcss-loader) from 6.2.1 to 7.0.0.
- [Release notes](https://github.com/webpack-contrib/postcss-loader/releases)
- [Changelog](https://github.com/webpack-contrib/postcss-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/postcss-loader/compare/v6.2.1...v7.0.0)

---
updated-dependencies:
- dependency-name: postcss-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 09:48:44 +00:00
753417747c Merge pull request #5822 from wallabag/fix/use-node-16 2022-05-23 11:47:03 +02:00
bfaf4f7bfd Merge pull request #5816 from wallabag/dependabot/npm_and_yarn/mathjax-3.2.1
Bump mathjax from 3.2.0 to 3.2.1
2022-05-23 08:14:04 +02:00
f265accfc6 Rebuild assets 2022-05-23 08:09:35 +02:00
ce8369ce2d Jump to Node 16 to build assets 2022-05-23 08:04:16 +02:00
7efaaa40c5 Merge pull request #5821 from wallabag/dependabot/npm_and_yarn/babel/core-7.18.0 2022-05-23 06:48:45 +02:00
f004cd3df0 Bump @babel/core from 7.17.10 to 7.18.0
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.10 to 7.18.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.0/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 04:24:11 +00:00
faac317563 Merge pull request #5819 from wallabag/dependabot/npm_and_yarn/postcss-8.4.14 2022-05-23 06:19:15 +02:00
f52ef455bf Merge pull request #5818 from wallabag/dependabot/npm_and_yarn/eslint-8.16.0 2022-05-23 06:18:59 +02:00
9bfccb795c Merge pull request #5817 from wallabag/dependabot/npm_and_yarn/babel/preset-env-7.18.0 2022-05-23 06:18:45 +02:00
8fcbdf59fb Merge pull request #5815 from wallabag/dependabot/npm_and_yarn/stylelint-14.8.3 2022-05-23 06:18:14 +02:00
172ebeadb7 Merge pull request #5814 from wallabag/dependabot/npm_and_yarn/stylelint-webpack-plugin-3.3.0 2022-05-23 06:17:55 +02:00
80e4571569 Merge pull request #5813 from wallabag/dependabot/npm_and_yarn/sass-1.52.1 2022-05-23 06:17:37 +02:00
be092d22ea Bump postcss from 8.4.13 to 8.4.14
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.13 to 8.4.14.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.4.13...8.4.14)

---
updated-dependencies:
- dependency-name: postcss
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 02:04:47 +00:00
e710ae923c Bump eslint from 8.15.0 to 8.16.0
Bumps [eslint](https://github.com/eslint/eslint) from 8.15.0 to 8.16.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.15.0...v8.16.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 02:04:37 +00:00
dccec39efd Bump @babel/preset-env from 7.17.10 to 7.18.0
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.17.10 to 7.18.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.18.0/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 02:04:25 +00:00
4ec104106a Bump mathjax from 3.2.0 to 3.2.1
Bumps [mathjax](https://github.com/mathjax/MathJax) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/mathjax/MathJax/releases)
- [Commits](https://github.com/mathjax/MathJax/compare/3.2.0...3.2.1)

---
updated-dependencies:
- dependency-name: mathjax
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 02:03:40 +00:00
01986825c8 Bump stylelint from 14.8.2 to 14.8.3
Bumps [stylelint](https://github.com/stylelint/stylelint) from 14.8.2 to 14.8.3.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/14.8.2...14.8.3)

---
updated-dependencies:
- dependency-name: stylelint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 02:03:30 +00:00
5eccfbd6e5 Bump stylelint-webpack-plugin from 3.2.0 to 3.3.0
Bumps [stylelint-webpack-plugin](https://github.com/webpack-contrib/stylelint-webpack-plugin) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/webpack-contrib/stylelint-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/stylelint-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/stylelint-webpack-plugin/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: stylelint-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 02:03:12 +00:00
d254cfaa6f Bump sass from 1.51.0 to 1.52.1
Bumps [sass](https://github.com/sass/dart-sass) from 1.51.0 to 1.52.1.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.51.0...1.52.1)

---
updated-dependencies:
- dependency-name: sass
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 02:03:03 +00:00
74 changed files with 3482 additions and 2720 deletions

7
.gitattributes vendored Normal file
View File

@ -0,0 +1,7 @@
/.editorconfig export-ignore
/.gitattributes export-ignore
/.github export-ignore
/.gitignore export-ignore
/phpstan.neon export-ignore
/phpunit.xml.dist export-ignore
/tests export-ignore

View File

@ -22,7 +22,7 @@ jobs:
- name: "Install Node"
uses: actions/setup-node@v3
with:
node-version: "12"
node-version: "16"
- name: "Install dependencies with Yarn"
run: "yarn install"

View File

@ -0,0 +1,25 @@
name: Auto-merge Dependabot JS
on: pull_request_target
permissions:
pull-requests: write
contents: write
jobs:
dependabot:
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' }}
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1.3.4
with:
github-token: '${{ secrets.GITHUB_TOKEN }}'
- name: Approve and merge minor updates
if: ${{ steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' && (steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch') }}
run: |
gh pr review --approve "$PR_URL"
gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -0,0 +1,39 @@
name: "Upload release package"
on:
release:
types:
- created
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
php:
- "7.4"
steps:
- name: "Checkout"
uses: "actions/checkout@v3"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php }}"
tools: pecl, composer:2.2
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
ini-values: "date.timezone=Europe/Paris"
env:
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create the package
run: make release VERSION=${{ github.event.release.tag_name }}
- name: Upload the package to the release
uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: /tmp/wllbg-release/wallabag-${{ github.event.release.tag_name }}.tar.gz

1
.nvmrc Normal file
View File

@ -0,0 +1 @@
16

View File

@ -1,47 +0,0 @@
filter:
paths:
- src/*
excluded_paths:
- 'vendor/*'
- 'app/*'
- 'var/*'
- 'web/*'
- 'src/Wallabag/*Bundle/Tests/*'
- '*Test.php'
tools:
php_cs_fixer: true
php_analyzer: true
php_mess_detector: true
php_changetracking: true
php_code_sniffer: true
php_pdepend: true
sensiolabs_security_checker: true
#external_code_coverage:
# timeout: 3600
php_code_coverage: true
php_sim: false
php_cpd: false
checks:
php:
code_rating: true
# use the new PHP analysis engine
# https://scrutinizer-ci.com/docs/tools/php/php-analyzer/guides/migrate_to_new_php_analysis
build:
environment:
php:
version: 7.4
nodes:
analysis:
tests:
override:
- php-scrutinizer-run
dependencies:
override:
- npm install -g 'yarn'
- yarn install --force
- COMPOSER_MEMORY_LIMIT=-1 composer install -o --no-interaction --no-progress --prefer-dist

View File

@ -1,5 +1,51 @@
# Changelog
## [2.5.4](https://github.com/wallabag/wallabag/tree/2.5.4)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.3...2.5.4)
### Security fixes
* Fix adding tag to entries from other people by @j0k3r in https://github.com/wallabag/wallabag/pull/6290
* Fix XSS on username on share page by @j0k3r in https://github.com/wallabag/wallabag/pull/6288
* Fix CSRF on user deletion by @j0k3r in https://github.com/wallabag/wallabag/pull/6289
### Meta
* Fix release script by @j0k3r in https://github.com/wallabag/wallabag/pull/6275
## [2.5.3](https://github.com/wallabag/wallabag/tree/2.5.3)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.2...2.5.3)
### Security fixes
* Fix GHSA-qwx8-mxxx-mg96 https://github.com/wallabag/wallabag/commit/0f7460dbab9e29f4f7d2944aca20210f828b6abb by @Kdecherf, thanks to @bAuh0lz
* Fix GHSA-mrqx-mjc4-vfh3 https://github.com/wallabag/wallabag/commit/5ac6b6bff9e2e3a87fd88c2904ff3c6aac40722e by @Kdecherf, thanks to @bAuh0lz
### Meta
* Update deps before 2.5.3 by @j0k3r in https://github.com/wallabag/wallabag/pull/6241
## [2.5.2](https://github.com/wallabag/wallabag/tree/2.5.2)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.1...2.5.2)
### Fixes
* Add `nbEntries` to the API tags list response by @j0k3r in https://github.com/wallabag/wallabag/pull/5984
* Typofixes by @nexxai in https://github.com/wallabag/wallabag/pull/6004
* Add `domain_name` to entries api endpoint by @yotamN in https://github.com/wallabag/wallabag/pull/6019
* Add support to download SVG locally by @j0k3r in https://github.com/wallabag/wallabag/pull/5992
### Meta
* Automatically create the package after a release by @j0k3r in https://github.com/wallabag/wallabag/pull/5851
* Add .gitattributes, exclude tests from archive by @iamvar in https://github.com/wallabag/wallabag/pull/5910
* Allow auto merging of Dependabot JS minor or patch by @j0k3r in https://github.com/wallabag/wallabag/pull/6003
* Fix random failing tests by @j0k3r in https://github.com/wallabag/wallabag/pull/6013
## [2.5.1](https://github.com/wallabag/wallabag/tree/2.5.1)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.0...2.5.1)
### Fixes
- Jump to Node 16 to build assets by @j0k3r in https://github.com/wallabag/wallabag/pull/5822
- Update some deps by @j0k3r in https://github.com/wallabag/wallabag/pull/5834
- Fix error about template not found in 2fa form by @j0k3r in https://github.com/wallabag/wallabag/pull/5833
- Translations update from Hosted Weblate by @weblate in https://github.com/wallabag/wallabag/pull/5846
- material: fix "untagged entries" chip style by @Kdecherf in https://github.com/wallabag/wallabag/pull/5840
## [2.5.0](https://github.com/wallabag/wallabag/tree/2.5.0)
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.4.3...2.5.0)

View File

@ -16,13 +16,7 @@ During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE` (li
#### Create a new release on GitHub
- Run this command to create the package:
```
make release VERSION=$LAST_WALLABAG_RELEASE
```
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `master` branch or any appropriate branch (for instance backports). You have to upload the package (generated previously).
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `master` branch or any appropriate branch (for instance backports).
- Update nginx config to change the redirect rule for `https://wllbg.org/latest-v2-package` & `http://wllbg.org/latest-v2` (they both redirect to the asset of the GitHub release)
- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
- Update wallabag.org website (downloads, MD5 sum, releases and new blog post)

View File

@ -18,7 +18,7 @@ export_pdf: Aktiviraj PDF izvoz
matomo_enabled: Aktiviraj Matomo
import_with_redis: Aktiviraj Redis za asinkroni uvoz podataka
restricted_access: Aktiviraj autentifikaciju za naplatne web-stranice
export_mobi: Aktiviraj .mobi izvoz
export_mobi: Aktiviraj .mobi izvoz (zastarjelo, uskoro će se ukloniti)
demo_mode_enabled: Aktivirati demo modus? (Koristi se samo za javnu wallabag demonstraciju)
carrot: Aktiviraj dijeljenje na Carrot
diaspora_url: diaspora* URL, ako je usluga aktivirana

View File

@ -1,18 +1,18 @@
download_pictures: Scarica le immagini sul tuo server
carrot: Abilita la condivisione con Carrot
carrot: Abilita condivisione con Carrot
diaspora_url: URL di diaspora*, se il servizio è abilitato
export_epub: Abilita esportazione ePub
export_mobi: Abilita esportazione .mobi
export_mobi: Abilita esportazione .mobi (deprecato, verrà rimosso presto)
export_pdf: Abilita esportazione PDF
export_csv: Abilita esportazione CSV
export_json: Abilita esportazione JSON
export_txt: Abilita esportazione TXT
export_xml: Abilita esportazione XML
shaarli_url: Shaarli URL, se il servizio è abilitato
scuttle_url: Scuttle URL, se il servizio è abilitato
unmark_url: Unmark URL, se il servizio è abilitato
shaarli_url: URL Shaarli, se il servizio è abilitato
scuttle_url: URL Scuttle, se il servizio è abilitato
unmark_url: URL Unmark, se il servizio è abilitato
share_diaspora: Abilita la condivisione con diaspora*
share_mail: Abilita la condivisione per e-mail
share_mail: Abilita la condivisione via e-mail
share_shaarli: Abilita la condivisione con Shaarli
share_scuttle: Abilita la condivisione con Scuttle
share_twitter: Abilita la condivisione con Twitter

View File

@ -3,7 +3,7 @@ download_pictures: サーバー上の画像をダウンロード
carrot: Carrot への共有を有効にする
diaspora_url: diaspora* URL、サービスが有効になっている場合
export_epub: ePub のエクスポートを有効にする
export_mobi: .mobi のエクスポートを有効にする
export_mobi: .mobi のエクスポートを有効にする(非推奨、近日中に削除されます)
export_pdf: PDF のエクスポートを有効にする
export_csv: CSV のエクスポートを有効にする
export_json: JSON のエクスポートを有効にする

View File

@ -3,7 +3,7 @@ download_pictures: Pobierz obrazy na swój serwer
carrot: Włącz udostępnianie dla Carrot
diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
export_epub: Włącz eksport do ePub
export_mobi: Włącz eksport do .mobi
export_mobi: Włącz eksport do plików .mobi (przestarzałe, zostanie wkrótce usunięte)
export_pdf: Włącz eksport do PDF
export_csv: Włącz eksport do CSV
export_json: Włącz eksport do JSON
@ -29,13 +29,12 @@ modify_settings: zatwierdź
matomo_host: Host twojej strony Matomo (bez http:// lub https://)
matomo_site_id: ID twojej strony Matomo
matomo_enabled: Włacz Matomo
demo_mode_enabled: Włącz tryb demo? (używany wyłącznie dla publicznej demonstracji
Wallabag)
demo_mode_username: Użytkownik Demonstracyjny
share_public: Zezwalaj na publiczne adresy url dla wpisów
demo_mode_enabled: Włącz tryb demonstracyjny? (Używany wyłącznie do publicznej demonstracji wallabag)
demo_mode_username: Użytkownik demonstracyjny
share_public: Zezwalaj na publiczne adresy URL dla wpisów
download_images_enabled: Pobierz obrazy lokalnie
restricted_access: Włącz autoryzację dla stron za paywallem
api_user_registration: Włącz rejestrację użytkownika przy użyciu API
unmark_url: Odznacz URL, jeżeli usługa jest włączona
store_article_headers: Włącz, jeżeli Wallabag zapisuje nagłówki HTTP dla każdego artykułu
shaarli_share_origin_url: Włącz udostępnianie URL Shaarli, jeżeli usługa jest włączona
store_article_headers: Włącz, jeżeli wallabag zapisuje nagłówki HTTP dla każdego artykułu
shaarli_share_origin_url: Włącz udostępnianie oryginalnego adresu URL do Shaarli, jeśli usługa jest włączona

View File

@ -3,7 +3,7 @@ download_pictures: Resimleri sunucuya indir
carrot: Carrot'a paylaşımı etkinleştir
diaspora_url: hizmet etkinse diaspora* URL'si
export_epub: ePub dışa aktarımını etkinleştir
export_mobi: .mobi dışa aktarımını etkinleştir
export_mobi: .mobi dışa aktarımını etkinleştir (kullanım dışı, yakında kaldırılacak)
export_pdf: PDF dışa aktarımını etkinleştir
export_csv: CSV dışa aktarımını etkinleştir
export_json: JSON dışa aktarımını etkinleştir

View File

@ -1 +1,5 @@
{}
download_pictures: 下載圖片至你的服務器上
diaspora_url: diaspora* URL(如果該服務已啟用)
settings_changed: 已更新設定
export_epub: 啟用 ePub 輸出
carrot: 啟用分享至 Carrot

View File

@ -164,6 +164,7 @@ a.original:not(.waves-effect) {
border-radius: 3px;
color: #fff;
cursor: default;
line-height: 20px;
}
.card-entry-labels li {
@ -188,7 +189,7 @@ a.original:not(.waves-effect) {
}
.card-tag-link {
width: calc(100% - 48px);
width: calc(100% - 24px);
line-height: 1.3;
white-space: nowrap;
text-overflow: ellipsis;
@ -212,7 +213,7 @@ a.original:not(.waves-effect) {
.card-tag-labels {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
}
.card-tag-labels li {

View File

@ -1,5 +1,5 @@
wallabag_core:
version: 2.5.0
version: 2.5.4
paypal_url: "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=9UBA65LG3FX9Y&lc=gb"
languages:
en: 'English'

View File

@ -34,7 +34,6 @@
},
"require": {
"php": ">=7.4",
"composer": "< 2.3",
"ext-ctype": "*",
"ext-curl": "*",
"ext-dom": "*",
@ -51,6 +50,7 @@
"ext-tidy": "*",
"ext-tokenizer": "*",
"ext-xml": "*",
"composer": "< 2.3",
"babdev/pagerfanta-bundle": "^2.5",
"bdunogier/guzzle-site-authenticator": "^1.0.0",
"craue/config-bundle": "^2.3.0",
@ -59,6 +59,7 @@
"doctrine/doctrine-cache-bundle": "^1.3",
"doctrine/doctrine-migrations-bundle": "^1.3",
"doctrine/orm": "^2.6",
"enshrined/svg-sanitize": "^0.15.4",
"friendsofsymfony/jsrouting-bundle": "^2.2",
"friendsofsymfony/oauth-server-bundle": "^1.5",
"friendsofsymfony/rest-bundle": "~2.1",

771
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
FROM php:7.4-fpm AS rootless
ARG DEBIAN_FRONTEND=noninteractive
ARG NODE_VERSION=14
ARG NODE_VERSION=16
RUN apt-get update \
&& apt-get install -y \

View File

@ -1,13 +1,13 @@
{
"name": "wallabag",
"version": "2.3.3",
"version": "2.5.0",
"description": "wallabag is a self hostable application for saving web pages",
"private": true,
"directories": {
"doc": "docs"
},
"engines": {
"node": ">=12"
"node": ">=16"
},
"repository": {
"type": "git",
@ -36,35 +36,35 @@
"url": "https://github.com/wallabag/wallabag/issues"
},
"devDependencies": {
"@babel/core": "^7.17.10",
"@babel/eslint-parser": "^7.17.0",
"@babel/preset-env": "^7.17.10",
"autoprefixer": "^10.4.7",
"babel-loader": "^8.2.5",
"css-loader": "^6.7.1",
"eslint": "^8.15.0",
"@babel/core": "^7.20.12",
"@babel/eslint-parser": "^7.19.1",
"@babel/preset-env": "^7.20.2",
"autoprefixer": "^10.4.13",
"babel-loader": "^9.1.2",
"css-loader": "^6.7.3",
"eslint": "^8.32.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.26.0",
"eslint-webpack-plugin": "^3.1.1",
"eslint-plugin-import": "^2.27.4",
"eslint-webpack-plugin": "^3.2.0",
"file-loader": "^6.2.0",
"lato-font": "^3.0.0",
"mini-css-extract-plugin": "^2.6.0",
"node-sass": "^7.0.1",
"postcss": "^8.4.13",
"postcss-loader": "^6.2.1",
"postcss-scss": "^4.0.4",
"sass": "^1.51.0",
"sass-loader": "^12.6.0",
"mini-css-extract-plugin": "^2.7.2",
"node-sass": "^8.0.0",
"postcss": "^8.4.21",
"postcss-loader": "^7.0.2",
"postcss-scss": "^4.0.6",
"sass": "^1.57.1",
"sass-loader": "^13.2.0",
"style-loader": "^3.3.1",
"stylelint": "^14.8.2",
"stylelint-config-standard": "^25.0.0",
"stylelint-scss": "^4.2.0",
"stylelint-webpack-plugin": "^3.2.0",
"terser-webpack-plugin": "^5.3.1",
"stylelint": "^14.16.1",
"stylelint-config-standard": "^29.0.0",
"stylelint-scss": "^4.3.0",
"stylelint-webpack-plugin": "^3.3.0",
"terser-webpack-plugin": "^5.3.6",
"url-loader": "^4.1.1",
"webpack": "^5.72.1",
"webpack-cli": "^4.9.2",
"webpack-dev-server": "^4.9.0",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.1",
"webpack-dev-server": "^4.11.1",
"webpack-manifest-plugin": "^5.0.0",
"webpack-merge": "^5.7.3"
},
@ -72,14 +72,14 @@
"annotator": "wallabag/annotator#master",
"clipboard": "^2.0.11",
"hammerjs": "^2.0.8",
"highlight.js": "^11.5.1",
"highlight.js": "^11.7.0",
"icomoon-free-npm": "^0.0.0",
"jquery": "^3.6.0",
"jquery": "^3.6.3",
"jquery.cookie": "^1.4.1",
"jr-qrcode": "^1.0.7",
"material-design-icons-iconfont": "^6.7.0",
"materialize-css": "^0.98.1",
"mathjax": "^3.1.2",
"mathjax": "^3.2.2",
"mousetrap": "^1.6.0",
"ptsans-npm-webfont": "^0.0.4",
"roboto-fontface": "^0.10.0",

View File

@ -9,12 +9,12 @@ ENV=$4
rm -rf "${TMP_FOLDER:?}"/"$RELEASE_FOLDER"
mkdir "$TMP_FOLDER"/"$RELEASE_FOLDER"
git clone git@github.com:wallabag/wallabag.git "$TMP_FOLDER"/"$RELEASE_FOLDER"/"$VERSION"
git clone https://github.com/wallabag/wallabag.git --single-branch --depth 1 --branch $1 "$TMP_FOLDER"/"$RELEASE_FOLDER"/"$VERSION"
cd "$TMP_FOLDER"/"$RELEASE_FOLDER"/"$VERSION" && SYMFONY_ENV="$ENV" COMPOSER_MEMORY_LIMIT=-1 composer install -n --no-dev
cd "$TMP_FOLDER"/"$RELEASE_FOLDER"/"$VERSION" && php bin/console wallabag:install --env="$ENV" -n
cd "$TMP_FOLDER"/"$RELEASE_FOLDER"/"$VERSION" && php bin/console assets:install --env="$ENV" --symlink --relative
cd "$TMP_FOLDER"/"$RELEASE_FOLDER" && tar czf "$VERSION".tar.gz --exclude="var/cache/*" --exclude="var/logs/*" --exclude="var/sessions/*" --exclude=".git" "$VERSION"
echo "MD5 checksum of the package for wallabag $VERSION"
md5 "$TMP_FOLDER"/"$RELEASE_FOLDER"/"$VERSION".tar.gz
md5sum "$VERSION".tar.gz
echo "Package to upload to the release server:"
echo "$TMP_FOLDER"/"$RELEASE_FOLDER"/"$VERSION".tar.gz

View File

@ -3,9 +3,9 @@
namespace Wallabag\AnnotationBundle\Controller;
use FOS\RestBundle\Controller\FOSRestController;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Wallabag\AnnotationBundle\Entity\Annotation;
use Wallabag\AnnotationBundle\Form\EditAnnotationType;
use Wallabag\AnnotationBundle\Form\NewAnnotationType;
@ -25,7 +25,7 @@ class WallabagAnnotationController extends FOSRestController
$annotationRows = $this
->getDoctrine()
->getRepository('WallabagAnnotationBundle:Annotation')
->findAnnotationsByPageId($entry->getId(), $this->getUser()->getId());
->findByEntryIdAndUserId($entry->getId(), $this->getUser()->getId());
$total = \count($annotationRows);
$annotations = ['total' => $total, 'rows' => $annotationRows];
@ -72,31 +72,35 @@ class WallabagAnnotationController extends FOSRestController
*
* @see Wallabag\ApiBundle\Controller\WallabagRestController
*
* @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation")
*
* @return JsonResponse
*/
public function putAnnotationAction(Annotation $annotation, Request $request)
public function putAnnotationAction(Request $request, int $annotation)
{
$data = json_decode($request->getContent(), true);
try {
$annotation = $this->validateAnnotation($annotation, $this->getUser()->getId());
$form = $this->get('form.factory')->createNamed('', EditAnnotationType::class, $annotation, [
'csrf_protection' => false,
'allow_extra_fields' => true,
]);
$form->submit($data);
$data = json_decode($request->getContent(), true, 512, \JSON_THROW_ON_ERROR);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($annotation);
$em->flush();
$form = $this->get('form.factory')->createNamed('', EditAnnotationType::class, $annotation, [
'csrf_protection' => false,
'allow_extra_fields' => true,
]);
$form->submit($data);
$json = $this->get('jms_serializer')->serialize($annotation, 'json');
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($annotation);
$em->flush();
return JsonResponse::fromJsonString($json);
$json = $this->get('jms_serializer')->serialize($annotation, 'json');
return JsonResponse::fromJsonString($json);
}
return $form;
} catch (\InvalidArgumentException $e) {
throw new NotFoundHttpException($e);
}
return $form;
}
/**
@ -104,18 +108,35 @@ class WallabagAnnotationController extends FOSRestController
*
* @see Wallabag\ApiBundle\Controller\WallabagRestController
*
* @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation")
*
* @return JsonResponse
*/
public function deleteAnnotationAction(Annotation $annotation)
public function deleteAnnotationAction(int $annotation)
{
try {
$annotation = $this->validateAnnotation($annotation, $this->getUser()->getId());
$em = $this->getDoctrine()->getManager();
$em->remove($annotation);
$em->flush();
$json = $this->get('jms_serializer')->serialize($annotation, 'json');
return (new JsonResponse())->setJson($json);
} catch (\InvalidArgumentException $e) {
throw new NotFoundHttpException($e);
}
}
private function validateAnnotation(int $annotationId, int $userId)
{
$em = $this->getDoctrine()->getManager();
$em->remove($annotation);
$em->flush();
$json = $this->get('jms_serializer')->serialize($annotation, 'json');
$annotation = $em->getRepository('WallabagAnnotationBundle:Annotation')->findOneByIdAndUserId($annotationId, $userId);
return (new JsonResponse())->setJson($json);
if (null === $annotation) {
throw new NotFoundHttpException();
}
return $annotation;
}
}

View File

@ -34,6 +34,15 @@ class AnnotationFixtures extends Fixture implements DependentFixtureInterface
$this->addReference('annotation2', $annotation2);
$annotation3 = new Annotation($this->getReference('bob-user'));
$annotation3->setEntry($this->getReference('entry3'));
$annotation3->setText('This is my first annotation !');
$annotation3->setQuote('content');
$manager->persist($annotation3);
$this->addReference('annotation3', $annotation3);
$manager->flush();
}

View File

@ -41,6 +41,24 @@ class AnnotationRepository extends EntityRepository
;
}
/**
* Find annotation by id and user.
*
* @param int $annotationId
* @param int $userId
*
* @return Annotation
*/
public function findOneByIdAndUserId($annotationId, $userId)
{
return $this->createQueryBuilder('a')
->where('a.id = :annotationId')->setParameter('annotationId', $annotationId)
->andWhere('a.user = :userId')->setParameter('userId', $userId)
->setMaxResults(1)
->getQuery()
->getOneOrNullResult();
}
/**
* Find annotations for entry id.
*
@ -49,7 +67,7 @@ class AnnotationRepository extends EntityRepository
*
* @return array
*/
public function findAnnotationsByPageId($entryId, $userId)
public function findByEntryIdAndUserId($entryId, $userId)
{
return $this->createQueryBuilder('a')
->where('a.entry = :entryId')->setParameter('entryId', $entryId)
@ -66,7 +84,7 @@ class AnnotationRepository extends EntityRepository
*
* @return array
*/
public function findLastAnnotationByPageId($entryId, $userId)
public function findLastAnnotationByUserId($entryId, $userId)
{
return $this->createQueryBuilder('a')
->where('a.entry = :entryId')->setParameter('entryId', $entryId)

View File

@ -3,7 +3,6 @@
namespace Wallabag\ApiBundle\Controller;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Wallabag\AnnotationBundle\Entity\Annotation;
@ -63,11 +62,9 @@ class AnnotationRestController extends WallabagRestController
* }
* )
*
* @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation")
*
* @return JsonResponse
*/
public function putAnnotationAction(Annotation $annotation, Request $request)
public function putAnnotationAction(int $annotation, Request $request)
{
$this->validateAuthentication();
@ -86,11 +83,9 @@ class AnnotationRestController extends WallabagRestController
* }
* )
*
* @ParamConverter("annotation", class="WallabagAnnotationBundle:Annotation")
*
* @return JsonResponse
*/
public function deleteAnnotationAction(Annotation $annotation)
public function deleteAnnotationAction(int $annotation)
{
$this->validateAuthentication();

View File

@ -113,6 +113,7 @@ class EntryRestController extends WallabagRestController
* {"name"="since", "dataType"="integer", "required"=false, "format"="default '0'", "description"="The timestamp since when you want entries updated."},
* {"name"="public", "dataType"="integer", "required"=false, "format"="1 or 0, all entries by default", "description"="filter by entries with a public link"},
* {"name"="detail", "dataType"="string", "required"=false, "format"="metadata or full, metadata by default", "description"="include content field if 'full'. 'full' by default for backward compatibility."},
* {"name"="domain_name", "dataType"="string", "required"=false, "format"="example.com", "description"="filter entries with the given domain name"},
* }
* )
*
@ -132,6 +133,7 @@ class EntryRestController extends WallabagRestController
$tags = \is_array($request->query->get('tags')) ? '' : (string) $request->query->get('tags', '');
$since = $request->query->get('since', 0);
$detail = strtolower($request->query->get('detail', 'full'));
$domainName = (null === $request->query->get('domain_name')) ? '' : (string) $request->query->get('domain_name');
try {
/** @var \Pagerfanta\Pagerfanta $pager */
@ -144,7 +146,8 @@ class EntryRestController extends WallabagRestController
$order,
$since,
$tags,
$detail
$detail,
$domainName
);
} catch (\Exception $e) {
throw new BadRequestHttpException($e->getMessage());

View File

@ -23,7 +23,7 @@ class TagRestController extends WallabagRestController
$tags = $this->getDoctrine()
->getRepository('WallabagCoreBundle:Tag')
->findAllTags($this->getUser()->getId());
->findAllFlatTagsWithNbEntries($this->getUser()->getId());
$json = $this->get('jms_serializer')->serialize($tags, 'json');

View File

@ -586,7 +586,7 @@ class ConfigController extends Controller
/**
* Delete account for current user.
*
* @Route("/account/delete", name="delete_account")
* @Route("/account/delete", name="delete_account", methods={"POST"})
*
* @throws AccessDeniedHttpException
*
@ -594,6 +594,10 @@ class ConfigController extends Controller
*/
public function deleteAccountAction(Request $request)
{
if (!$this->isCsrfTokenValid('delete-account', $request->request->get('token'))) {
throw $this->createAccessDeniedException('Bad CSRF token.');
}
$enabledUsers = $this->get('wallabag_user.user_repository')
->getSumEnabledUsers();

View File

@ -6,7 +6,6 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\Routing\Annotation\Route;
use Wallabag\CoreBundle\Entity\Entry;
/**
* The try/catch can be removed once all formats will be implemented.
@ -26,9 +25,21 @@ class ExportController extends Controller
*
* @return \Symfony\Component\HttpFoundation\Response
*/
public function downloadEntryAction(Entry $entry, $format)
public function downloadEntryAction(Request $request, $format, $id)
{
try {
$entry = $this->get('wallabag_core.entry_repository')
->find((int) $id);
/*
* We duplicate EntryController::checkUserAction here as a quick fix for an improper authorization vulnerability
*
* This should be eventually rewritten
*/
if (null === $entry || null === $this->getUser() || $this->getUser()->getId() !== $entry->getUser()->getId()) {
throw new NotFoundHttpException();
}
return $this->get('wallabag_core.helper.entries_export')
->setEntries($entry)
->updateTitle('entry')

View File

@ -17,7 +17,7 @@ use Wallabag\CoreBundle\Form\Type\RenameTagType;
class TagController extends Controller
{
/**
* @Route("/new-tag/{entry}", requirements={"entry" = "\d+"}, name="new_tag")
* @Route("/new-tag/{entry}", requirements={"entry" = "\d+"}, name="new_tag", methods={"POST"})
*
* @return \Symfony\Component\HttpFoundation\Response
*/
@ -26,7 +26,17 @@ class TagController extends Controller
$form = $this->createForm(NewTagType::class, new Tag());
$form->handleRequest($request);
$tags = $form->get('label')->getData();
$tagsExploded = explode(',', $tags);
// avoid too much tag to be added
if (\count($tagsExploded) >= 5 || \strlen($tags) >= NewTagType::MAX_LENGTH) {
return $this->redirect($this->generateUrl('view', ['id' => $entry->getId()]));
}
if ($form->isSubmitted() && $form->isValid()) {
$this->checkUserAction($entry);
$this->get('wallabag_core.tags_assigner')->assignTagsToEntry(
$entry,
$form->get('label')->getData()
@ -59,6 +69,8 @@ class TagController extends Controller
*/
public function removeTagFromEntry(Request $request, Entry $entry, Tag $tag)
{
$this->checkUserAction($entry);
$entry->removeTag($tag);
$em = $this->getDoctrine()->getManager();
$em->flush();
@ -222,4 +234,14 @@ class TagController extends Controller
return $this->redirect($this->get('wallabag_core.helper.redirect')->to($request->headers->get('referer'), '', true));
}
/**
* Check if the logged user can manage the given entry.
*/
private function checkUserAction(Entry $entry)
{
if (null === $this->getUser() || $this->getUser()->getId() !== $entry->getUser()->getId()) {
throw $this->createAccessDeniedException('You can not access this entry.');
}
}
}

View File

@ -10,6 +10,8 @@ use Symfony\Component\OptionsResolver\OptionsResolver;
class NewTagType extends AbstractType
{
public const MAX_LENGTH = 40;
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
@ -17,6 +19,7 @@ class NewTagType extends AbstractType
'required' => true,
'attr' => [
'placeholder' => 'tag.new.placeholder',
'max_length' => self::MAX_LENGTH,
],
])
->add('add', SubmitType::class, [

View File

@ -346,7 +346,7 @@ class ContentProxy
* parse_url arrays.
*
* As array_diff_assoc only computes changes to go from the left array
* to the right one, we make two differents arrays to have both
* to the right one, we make two different arrays to have both
* directions. We merge these two arrays and sort keys before passing
* the result to the switch.
*

View File

@ -33,7 +33,7 @@ class CryptoProxy
/**
* Ensure the given value will be crypted.
*
* @param string $secretValue Secret valye to crypt
* @param string $secretValue Secret value to crypt
*
* @return string
*/

View File

@ -10,7 +10,7 @@ use Wallabag\UserBundle\Entity\User;
* This class intend to detect the active theme for the logged in user.
* It will retrieve the configured theme of the user.
*
* If no user where logged in, it will returne the default theme
* If no user where logged in, it will return the default theme
*/
class DetectActiveTheme implements DeviceDetectionInterface
{

View File

@ -2,6 +2,7 @@
namespace Wallabag\CoreBundle\Helper;
use enshrined\svgSanitize\Sanitizer;
use GuzzleHttp\Psr7\Uri;
use GuzzleHttp\Psr7\UriResolver;
use Http\Client\Common\HttpMethodsClient;
@ -146,6 +147,32 @@ class DownloadImages
$hashImage = hash('crc32', $absolutePath);
$localPath = $folderPath . '/' . $hashImage . '.' . $ext;
$urlPath = $this->wallabagUrl . '/assets/images/' . $relativePath . '/' . $hashImage . '.' . $ext;
// custom case for SVG (because GD doesn't support SVG)
if ('svg' === $ext) {
try {
$sanitizer = new Sanitizer();
$sanitizer->minify(true);
$sanitizer->removeRemoteReferences(true);
$cleanSVG = $sanitizer->sanitize((string) $res->getBody());
// add an extra validation by checking about `<svg `
if (false === $cleanSVG || false === strpos($cleanSVG, '<svg ')) {
$this->logger->error('DownloadImages: Bad SVG given', ['path' => $imagePath]);
return false;
}
file_put_contents($localPath, $cleanSVG);
return $urlPath;
} catch (\Exception $e) {
$this->logger->error('DownloadImages: Error while sanitize SVG', ['path' => $imagePath, 'message' => $e->getMessage()]);
return false;
}
}
try {
$im = imagecreatefromstring((string) $res->getBody());
@ -196,7 +223,7 @@ class DownloadImages
imagedestroy($im);
return $this->wallabagUrl . '/assets/images/' . $relativePath . '/' . $hashImage . '.' . $ext;
return $urlPath;
}
/**
@ -351,7 +378,7 @@ class DownloadImages
$this->logger->debug('DownloadImages: Checking extension (alternative)', ['ext' => $ext]);
}
if (!\in_array($ext, ['jpeg', 'jpg', 'gif', 'png', 'webp'], true)) {
if (!\in_array($ext, ['jpeg', 'jpg', 'gif', 'png', 'webp', 'svg'], true)) {
$this->logger->error('DownloadImages: Processed image with not allowed extension. Skipping: ' . $imagePath);
return false;

View File

@ -167,7 +167,7 @@ class EntriesExport
$book->setAuthor($this->author, $this->author);
// I hope this is a non existant address :)
// I hope this is a non-existent address :)
$book->setPublisher('wallabag', 'wallabag');
// Strictly not needed as the book date defaults to time().
$book->setDate(time());

View File

@ -198,12 +198,13 @@ class EntryRepository extends EntityRepository
* @param int $since
* @param string $tags
* @param string $detail 'metadata' or 'full'. Include content field if 'full'
* @param string $domainName
*
* @todo Breaking change: replace default detail=full by detail=metadata in a future version
*
* @return Pagerfanta
*/
public function findEntries($userId, $isArchived = null, $isStarred = null, $isPublic = null, $sort = 'created', $order = 'asc', $since = 0, $tags = '', $detail = 'full')
public function findEntries($userId, $isArchived = null, $isStarred = null, $isPublic = null, $sort = 'created', $order = 'asc', $since = 0, $tags = '', $detail = 'full', $domainName = '')
{
if (!\in_array(strtolower($detail), ['full', 'metadata'], true)) {
throw new \Exception('Detail "' . $detail . '" parameter is wrong, allowed: full or metadata');
@ -242,7 +243,7 @@ class EntryRepository extends EntityRepository
$entryAlias = 'e' . $i;
$tagAlias = 't' . $i;
// Complexe queries to ensure multiple tags are associated to an entry
// Complex queries to ensure multiple tags are associated to an entry
// https://stackoverflow.com/a/6638146/569101
$qb->andWhere($qb->expr()->in(
'e.id',
@ -258,6 +259,10 @@ class EntryRepository extends EntityRepository
}
}
if (\is_string($domainName) && '' !== $domainName) {
$qb->andWhere('e.domainName = :domainName')->setParameter('domainName', $domainName);
}
if (!\in_array(strtolower($order), ['asc', 'desc'], true)) {
throw new \Exception('Order "' . $order . '" parameter is wrong, allowed: asc or desc');
}

View File

@ -37,6 +37,7 @@ menu:
theme_toggle_auto: Automatisches Design
theme_toggle_dark: Dunkles Design
theme_toggle_light: Helles Design
with_annotations: Mit Anmerkungen
top:
add_new_entry: Neuen Artikel hinzufügen
search: Suche
@ -240,6 +241,8 @@ entry:
filtered_search: 'Gefiltert nach Suche:'
untagged: Nicht markierte Einträge
all: Alle Einträge
with_annotations: Einträge mit Anmerkungen
same_domain: Gleiche Domain
list:
number_on_the_page: '{0} Es gibt keine Einträge.|{1} Es gibt einen Eintrag.|]1,Inf[ Es gibt %count% Einträge.'
reading_time: geschätzte Lesezeit
@ -253,6 +256,8 @@ entry:
toogle_as_star: Favoriten-Status ändern
delete: Löschen
export_title: Exportieren
assign_search_tag: Weise diese Suche als einen Tag zu jedem Ergebnis hinzu
show_same_domain: Zeigt Artikel mit der gleichen Domain
filters:
title: Filter
status_label: Status
@ -277,6 +282,7 @@ entry:
action:
clear: Zurücksetzen
filter: Filtern
annotated_label: Angemerkt
view:
left_menu:
back_to_top: Nach oben
@ -502,14 +508,14 @@ import:
wallabag_v1:
page_title: Aus wallabag v1 importieren
description: Dieser Import wird all deine Artikel aus wallabag v1 importieren. Klicke in der Konfigurationsseite auf "JSON-Export" im "wallabag-Daten exportieren"-Abschnitt. Du erhältst eine "wallabag-export-1-xxxx-xx-xx.json"-Datei.
how_to: Wähle die exportierte Datei aus und klicke den nachfolgenden Button, um diese hochzuladen und zu importieren.
how_to: Wähle die exportierte Datei aus und klicke auf den nachfolgenden Button, um diese hochzuladen und zu importieren.
wallabag_v2:
page_title: Aus wallabag v2 importieren
description: Dieser Import wird all deine Artikel aus wallabag v2 importieren. Gehe auf "Alle Artikel" und dann, in der Exportieren-Seitenleiste auf "JSON". Dabei erhältst du eine "All articles.json"-Datei.
readability:
page_title: Aus Readability importieren
description: Dieser Importer wird all deine Artikel aus Readability importieren. Auf der Werkzeugseite (https://www.readability.com/tools/) klickst du auf „Exportiere deine Daten“ in dem Abschnitt „Datenexport“. Du wirst eine E-Mail mit einem Herunterladenlink zu einer json Datei, die aber nicht auf .json endet, erhalten.
how_to: Bitte wähle deinen Readability Export aus und klicke den unteren Button für das Hochladen und Importieren dessen.
how_to: Bitte wähl deinen Readability-Export aus und klick den unteren Button für das Hochladen und Importieren dessen an.
worker:
enabled: 'Der Import erfolgt asynchron. Sobald der Import gestartet ist, wird diese Aufgabe extern abgearbeitet. Der aktuelle Service dafür ist:'
download_images_warning: Du hast das Herunterladen von Bildern für deine Artikel aktiviert. Verbunden mit dem klassischen Import kann es ewig dauern fortzufahren (oder sogar fehlschlagen). Wir <strong>empfehlen</strong> den asynchronen Import zu aktivieren, um Fehler zu vermeiden.
@ -524,14 +530,18 @@ import:
instapaper:
page_title: Aus Instapaper importieren
description: Dieser Import wird all deine Instapaper Artikel importieren. Auf der Einstellungsseite (https://www.instapaper.com/user) klickst du auf "Download .CSV Datei" in dem Abschnitt "Export". Eine CSV Datei wird heruntergeladen (z.B. "instapaper-export.csv").
how_to: Bitte wähle deine Instapaper Sicherungsdatei aus und klicke den nachfolgenden Button zum Importieren.
how_to: Bitte wähle deine Instapaper-Sicherungsdatei aus und klicke auf den nachfolgenden Button zum Importieren.
pinboard:
page_title: Aus Pinboard importieren
description: Dieser Import wird all deine Pinboard Artikel importieren. Auf der Seite Backup (https://pinboard.in/settings/backup) klickst du auf "JSON" in dem Abschnitt "Lesezeichen". Eine JSON Datei wird dann heruntergeladen (z.B. "pinboard_export").
how_to: Bitte wähle deinen Pinboard Export aus und klicke den nachfolgenden Button zum Importieren.
how_to: Bitte wähle deinen Pinboard-Export aus und klicke auf den nachfolgenden Button zum Importieren.
elcurator:
page_title: Importieren > elCurator
description: Dieses Tool wird all deine ElCurator-Artikel importieren. Öffne die Einstellungen in deinem ElCurator-Konto und exportiere dort den Inhalt; du wirst eine JSON-Datei erhalten.
delicious:
page_title: Import > del.icio.us
how_to: Bitte wählen deinen Delicious-Export aus und klicke den u.s. Button zum Importieren.
description: Dieser Importer wird alle deine Delicious-Lesezeichen importieren. Seit 2021 kannst du deine Daten wieder von der Exportseite (https://del.icio.us/export) bekommen. Wähle das "JSON"-Format aus und lade es herunter (z.B. "delicious_export.2021.02.06_21.10.json").
developer:
page_title: API-Client-Verwaltung
welcome_message: Willkomen zur wallabag API

View File

@ -226,6 +226,7 @@ entry:
filtered_search: 'Articles filtrés par recherche :'
untagged: Article sans étiquette
all: Tous les articles
same_domain: Même site
list:
number_on_the_page: '{0} Il ny a pas darticle.|{1} Il y a un article.|]1,Inf[ Il y a %count% articles.'
reading_time: durée de lecture
@ -239,6 +240,8 @@ entry:
toogle_as_star: Marquer comme favori
delete: Supprimer
export_title: Exporter
show_same_domain: Afficher les articles du même site
assign_search_tag: Ajouter cette recherche comme un tag à chaque résultat
filters:
title: Filtres
status_label: Status
@ -519,6 +522,10 @@ import:
elcurator:
description: Cet outil va importer tous vos articles depuis elCurator. Allez dans vos préférences sur elCurator et exportez vos contenus. Vous allez récupérer un fichier JSON.
page_title: Importer > elCurator
delicious:
page_title: Importer > del.icio.us
how_to: Choisissez le fichier de votre export Delicious et cliquez sur le bouton ci-dessous pour l'importer.
description: Depuis 2021, vous pouvez à nouveau exporter vos données depuis Delicious (https://del.icio.us/export). Choisissez le format "JSON" et téléchargez le (un fichier du genre "delicious_export.2021.02.06_21.10.json").
developer:
page_title: Gestion des clients API
welcome_message: Bienvenue sur lAPI de wallabag

View File

@ -1,7 +1,7 @@
howto:
shortcuts:
list_title: Atallos dispoñibles nas páxinas con listaxes
go_logout: Desconectar
go_logout: Saír
go_howto: Ir ós titoriais (esta páxina!)
go_developers: Ir a desenvolvedoras
go_import: Ir a importar
@ -359,7 +359,7 @@ menu:
input_label: Escribe aquí a túa busca
top:
account: A miña conta
random_entry: Ir a unha entrada ó chou desa listaxe
random_entry: Ir a unha entrada ao chou dos da lista
export: Exportar
filter_entries: Filtrar entradas
search: Buscar
@ -376,7 +376,7 @@ menu:
save_link: Gardar ligazón
search: Buscar
about: Acerca de
logout: Desconectar
logout: Saír
developer: Xestión dos clientes API
howto: Titoriais
import: Importar

View File

@ -62,7 +62,7 @@ import:
how_to: 'Odaberi datoteku sigurnosne kopije zabilježaka i pritisni donji gumb za uvoz datoteke. Napomena: uvoz može potrajati, jer se moraju dohvatiti svi članci.'
description: 'Ovaj uvoznik uvozi sve tvoje zabilješke iz Chromea. Mjesto datoteke ovisi o tvom operacijskom sustavu: Na Linuxu sustavu idi u mapu <code>~/.config/chromium/Default/</code></li><li>Na Windows sustavu mapa bi se trebala nalziti u <code>%LOCALAPPDATA%\Google\Chrome\User Data\Default</code></li><li>Na OS X sustavu trebala bi biti u <code>~/Library/Application Support/Google/Chrome/Default/Bookmarks</code></li></ul>Kad stigneš tamo, kopiraj datoteku <code>Bookmarks</code> na neko mjesto gdje ćeš je pronaći.<em><br>Ako koristiš Chromium umjesto Chromea, morat ćeš u skladu s time ispraviti staze.</em></p>'
readability:
how_to: Odaberi Readability izvoz i pritisni donji gumb za preuzimanje i uvoz datoteke.
how_to: Odaberi Readability izvoz i pritisni donji gumb za slanje i uvoz datoteke.
page_title: Uvoz > Readability
description: Ovaj uvoznik uvozi sve tvoje Readability članke. Na stranici alata (https://www.readability.com/tools/), pritisni „Izvezi svoje podatke” u odjeljku „Izvoz podataka”. Primit ćeš e-mail za preuzimanje json-a (što zapravo ne završava s .json).
worker:
@ -70,11 +70,11 @@ import:
download_images_warning: Aktivirao(la) si preuzimanje slika za članke. U kombinaciji s klasičnim uvozom, postupak može potrajati godinama (ili možda ne uspije). <strong>Preporučujemo</strong> aktivirati asinkroniziran uvoz za izbjegavanje grešaka.
pinboard:
page_title: Uvoz > Pinboard
how_to: Odaberi Pinboard izvoz i pritisni donji gumb za preuzimanje i uvoz datoteke.
how_to: Odaberi Pinboard izvoz i pritisni donji gumb za slanje i uvoz datoteke.
description: Ovaj uvoznik uvozi sve tvoje Pinboard članke. Na stranici sigurnosne kopije (https://pinboard.in/settings/backup), pritisni „JSON” u odjeljku „Zabilješke”. Preuzet će se JSON datoteka (poput „pinboard_export”).
instapaper:
page_title: Uvoz > Instapaper
how_to: Odaberi Instapaper izvoz i pritisni donji gumb za preuzimanje i uvoz datoteke.
how_to: Odaberi Instapaper izvoz i pritisni donji gumb za slanje i uvoz datoteke.
description: Ovaj uvoznik uvozi sve tvoje Instapaper članke. Na stranici postavki (https://www.instapaper.com/user) pritisni „Preuzmi .CSV datoteku” u odjeljku „Izvoz”. Preuzet će se CSV datoteka (poput „instapaper-export.csv”).
pocket:
config_missing:
@ -82,7 +82,7 @@ import:
description: Uvoz iz Pocketa nije konfiguriran.
user_message: Administrator tvog poslužitelja mora definirati ključ za sučelje za Pocket.
description: Ovaj uvoznik uvozi sve tvoje Pocket podatke. Pocket nam ne dopušta dohvaćanje sadržaja iz njihove usluge, stoga će se čitljiv sadržaj svakog članka ponovno dohvatiti pomoću wallabaga.
authorize_message: Tvoje podatke možeš uvesti s tvog Pocket računa. Jednostavno pritisni donji gumb i autoriziraj program, da se poveže s getpocket.com.
authorize_message: Tvoje podatke možeš uvesti s tvog Pocket računa. Jednostavno pritisni donji gumb i autoriziraj program da se poveže na getpocket.com.
connect_to_pocket: Spoji se na Pocket i uvezi podatke
page_title: Uvoz > Pocket
form:
@ -92,7 +92,7 @@ import:
save_label: Prenesi datoteku
wallabag_v1:
page_title: Uvoz > Wallabag v1
how_to: Odaberi wallabag izvoz i pritisni donji gumb za preuzimanje i uvoz datoteke.
how_to: Odaberi wallabag izvoz i pritisni donji gumb za slanje i uvoz datoteke.
description: Ovaj uvoznik uvozi sve tvoje članke wallabaga verzije 1. Na tvojoj stranici konfiguracije, pritisni „JSON izvoz” u odjeljku „Izvezi svoje wallabag podatke”. Dobit ćeš datoteku „wallabag-export-1-xxxx-xx-xx.json”.
page_description: Dobro došao/dobro došla u uvoznik wallabaga. Odaberi prethodnu uslugu s koje želiš premjestiti podatke.
action:
@ -100,6 +100,10 @@ import:
elcurator:
description: Ovaj će uvoznik uvesti sve tvoje elCurator članke. Prijeđi na postavke na tvom elCurator računu, a zatim izvezi sadržaj. Dobit ćete JSON datoteku.
page_title: Uvezi > elCurator
delicious:
page_title: Uvoz > del.icio.us
description: Ovaj će uvoznik uvesti sve tvoje „Delicious” zabilješke. Od 2021. godine nadalje, iz njega možeš ponovo izvesti podatke pomoću stranice za izvoz (https://del.icio.us/export). Odaberi format „JSON” i preuzmi ga (npr. „delicious_export.2021.02.06_21.10.json”).
how_to: Odaberi Delicious izvoz i pritisni donji gumb za slanje i uvoz datoteke.
about:
helping:
by_contributing: 'doprinošenjem projektu:'
@ -478,6 +482,7 @@ entry:
http_status_label: Stanje HTTP-a
title: Filtri
unread_label: Nepročitani
annotated_label: S napomenom
list:
delete: Izbriši
reading_time_less_one_minute: 'procijenjeno vrijeme čitanja: &lt; 1 min'
@ -491,6 +496,8 @@ entry:
toogle_as_read: Uklj/Isklj oznaku kao pročitano
number_of_tags: '{1}i još jedna druga oznaka|]1,Inf[i %count% druge oznake'
reading_time_less_one_minute_short: '&lt; 1 min'
show_same_domain: Prikaži članke s istom domenom
assign_search_tag: Dodijeli ovo pretraživanje kao oznaku svakom rezultatu
view:
left_menu:
set_as_starred: Uklj/Isklj omiljene
@ -531,6 +538,8 @@ entry:
untagged: Zapisi bez oznaka
filtered_tags: 'Filtrirano po oznakama:'
filtered_search: 'Filtrirano po pretrazi:'
with_annotations: Unosi s napomenama
same_domain: Ista domena
metadata:
reading_time_minutes_short: '%readingTime% min'
added_on: Dodano
@ -663,6 +672,7 @@ menu:
theme_toggle_auto: Automatska tema
theme_toggle_dark: Tamna tema
theme_toggle_light: Svijetla tema
with_annotations: S napomenama
top:
add_new_entry: Dodaj novi zapis
filter_entries: Filtriraj zapise

View File

@ -393,6 +393,7 @@ tag:
list:
number_on_the_page: '{0} Nincsenek címkék.|{1} Egy címke.|]1,Inf[ %count% címke.'
see_untagged_entries: Címkézetlen bejegyzések megtekintése
untagged: Címkézetlen bejegyzések
new:
add: Hozzáad
placeholder: Több címkét is hozzáadhat, vesszővel elválasztva.

View File

@ -26,7 +26,7 @@ menu:
howto: Come fare
developer: Gestione client API
logout: Esci
about: A proposito
about: Informazioni
search: Cerca
save_link: Salva collegamento
back_to_unread: Torna ai contenuti non letti
@ -37,6 +37,7 @@ menu:
theme_toggle_auto: Tema automatico
theme_toggle_dark: Tema scuro
theme_toggle_light: Tema chiaro
with_annotations: Con annotazioni
top:
add_new_entry: Aggiungi un nuovo contenuto
search: Cerca
@ -409,6 +410,7 @@ tag:
list:
number_on_the_page: "{0} Non ci sono etichette.|{1} C'è un'etichetta.|]1,Inf[ ci sono %count% etichette."
see_untagged_entries: Vedi articoli non etichettati
untagged: Articoli non etichettati
new:
add: Aggiungi
placeholder: Puoi aggiungere varie etichette, separate da una virgola.

View File

@ -37,6 +37,7 @@ menu:
theme_toggle_auto: テーマを自動切換
theme_toggle_dark: ダークテーマ
theme_toggle_light: ライトテーマ
with_annotations: 注釈付きのアイテム
top:
add_new_entry: 新しい記事を追加
search: 検索

View File

@ -405,6 +405,7 @@ tag:
list:
number_on_the_page: "{0} I a pas cap d'etiquetas.|{1} I a una etiqueta.|]1,Inf[ I a %count% etiquetas."
see_untagged_entries: Afichar las entradas sens etiquetas
untagged: Articles sens etiqueta
new:
add: Ajustar
placeholder: Podètz ajustar mai qu'una etiqueta, separadas per de virgula.

View File

@ -16,14 +16,14 @@ security:
menu:
left:
unread: Nieprzeczytane
starred: Oznaczone gwiazdką
starred: Wyróżnione
archive: Archiwum
all_articles: Wszystkie
config: Konfiguracja
tags: Tagi
internal_settings: Wewnętrzne ustawienia
import: Importuj
howto: How to
howto: Jak to zrobić
developer: Zarządzanie klientami API
logout: Wyloguj
about: O nas
@ -33,10 +33,11 @@ menu:
users_management: Zarządzanie użytkownikami
site_credentials: Poświadczenia strony
quickstart: Szybki start
ignore_origin_instance_rules: Ignoruj globalne zasady pochodzenia
ignore_origin_instance_rules: Globalne zasady ignorowania pochodzenia
theme_toggle_auto: Automatyczny motyw
theme_toggle_dark: Ciemny motyw
theme_toggle_light: Jasny motyw
with_annotations: Z adnotacjami
top:
add_new_entry: Dodaj nowy wpis
search: Szukaj
@ -63,13 +64,13 @@ config:
rules: Zasady tagowania
new_user: Dodaj użytkownika
reset: Zresetuj obszar
ignore_origin: Ignoruj zasady pochodzenia
ignore_origin: Zasady ignorowania pochodzenia
feed: Źródła
form:
save: Zapisz
form_settings:
theme_label: Temat
items_per_page_label: Ilość elementów na stronie
items_per_page_label: Liczba elementów na stronie
language_label: Język
reading_speed:
label: Prędkość czytania
@ -86,8 +87,8 @@ config:
android_configuration: Skonfiguruj swoją androidową aplikację
android_instruction: Dotknij tutaj, aby wstępnie uzupełnij androidową aplikację
help_theme: Dopasuj wallabag do swoich potrzeb. Tutaj możesz wybrać preferowany przez ciebie motyw.
help_items_per_page: Możesz zmienić ilość artykułów wyświetlanych na każdej stronie.
help_reading_speed: wallabag oblicza czas czytania każdego artykułu. Dzięki tej liście możesz określić swoje tempo. Wallabag przeliczy ponownie czas potrzebny, na przeczytanie każdego z artykułów.
help_items_per_page: Możesz zmienić liczbę artykułów wyświetlanych na każdej stronie.
help_reading_speed: wallabag oblicza czas czytania każdego artykułu. Możesz tutaj określić, dzięki tej liście, czy jesteś szybkim czy powolnym czytelnikiem. wallabag przeliczy czas czytania każdego artykułu.
help_language: Możesz zmienić język interfejsu wallabag.
help_pocket_consumer_key: Wymagane dla importu z Pocket. Możesz go stworzyć na swoim koncie Pocket.
form_rss:
@ -106,32 +107,32 @@ config:
form_user:
two_factor_description: Włączenie autoryzacji dwuetapowej oznacza, że będziesz otrzymywał maile z kodem przy każdym nowym, niezaufanym połączeniu.
name_label: Nazwa
email_label: Adres email
email_label: Adres e-mail
twoFactorAuthentication_label: Autoryzacja dwuetapowa
help_twoFactorAuthentication: Jeżeli włączysz autoryzację dwuetapową. Za każdym razem, kiedy będziesz chciał się zalogować, dostaniesz kod na swój e-mail.
delete:
title: Usuń moje konto (niebezpieczna strefa !)
title: Usuń moje konto (niebezpieczna strefa!)
description: Jeżeli usuniesz swoje konto, wszystkie twoje artykuły, tagi, adnotacje, oraz konto zostaną trwale usunięte (operacja jest NIEODWRACALNA). Następnie zostaniesz wylogowany.
confirm: Jesteś pewien? (tej operacji NIE MOŻNA cofnąć)
button: Usuń moje konto
two_factor:
action_app: Użyj aplikacji do jednorazowych kodów
action_email: Użyj e-maila
action_email: Użyj e-maila
state_disabled: Wyłączone
state_enabled: Włączone
table_action: Akcja
table_state: Stan
table_method: Metoda
googleTwoFactor_label: Używając aplikacji do jednorazowych kodów logowania (uruchom aplikacje w stylu Google Authenticator, Authy lub FreeOTP by uzyskać kod)
emailTwoFactor_label: Używając emaila (otrzymasz kod na podany adres)
emailTwoFactor_label: Używając e-maila (otrzymasz kod na podany adres)
login_label: Login (nie może zostać później zmieniony)
reset:
title: Reset (niebezpieczna strefa)
description: Poniższe przyciski pozwalają usunąć pewne informacje z twojego konta. Uważaj te operacje są NIEODWRACALNE.
annotations: Usuń WSZYSTKIE adnotacje
tags: Usuń WSZYSTKIE tagi
entries: usuń WSZYTSTKIE wpisy
archived: usuń WSZYSTKIE zarchiwizowane wpisy
entries: Usuń WSZYTSTKIE wpisy
archived: Usuń WSZYSTKIE zarchiwizowane wpisy
confirm: Jesteś pewien? (tej operacji NIE MOŻNA cofnąć)
form_password:
description: Tutaj możesz zmienić swoje hasło. Twoje nowe hasło powinno mieć conajmniej 8 znaków.
@ -143,7 +144,7 @@ config:
then_tag_as_label: wtedy otaguj jako
delete_rule_label: usuń
edit_rule_label: edytuj
rule_label: Reguła
rule_label: Zasada
tags_label: Tagi
faq:
title: FAQ
@ -162,7 +163,7 @@ config:
isStarred: Czy wpis został oznaczony gwiazdką czy nie
content: Zawartość wpisu
language: Język wpisu
mimetype: Mime-type wpisu
mimetype: Typ mediów wpisu
readingTime: Szacunkowy czas czytania wpisu w minutach
domainName: Nazwa domeny wpisu
operator_description:
@ -179,7 +180,7 @@ config:
notmatches: 'Sprawdź czy <i>temat</i> nie zawiera <i>szukaj</i> (duże lub małe litery).<br />Przykład: <code>tytuł nie zawiera "piłka nożna"</code>'
card:
export_tagging_rules_detail: Pobierz plik JSON z ustawieniami tagowania.
import_tagging_rules_detail: Musisz zaznaczyć plik z rozszerzeniem JSON który wcześniej zapisałeś.
import_tagging_rules_detail: Musisz wybrać wcześniej wyeksportowany plik JSON.
export_tagging_rules: Eksportuj/zapisz plik z zasadami tagowania
import_tagging_rules: Importuj zasady tagowania
new_tagging_rule: Utwórz zasadę oznaczania tagami
@ -187,33 +188,61 @@ config:
file_label: Plik JSON
export: Eksportuj
form_feed:
description: Lista artykułów Atom pozwala czytać zapisane artykuły w twoim ulubionym programie. Musisz najpierw wygenerować token Atoma.
description: Kanały Atom dostarczane przez wallabag umożliwiają czytanie zapisanych artykułów za pomocą ulubionego czytnika Atom. Musisz najpierw wygenerować token.
feed_limit: Liczba artykułów w aktualnościach
feed_link:
all: Wszystko
archive: Zarchiwizowane
starred: Wyróżnione
unread: Nieodczytane
unread: Nieprzeczytane
feed_links: Linki do aktualności
token_revoke: Anuluj token
token_reset: Stwórz ponownie token
token_create: Stwórz swój token
no_token: Brak tokena
no_token: Brak tokena
token_label: Token listy
form_ignore_origin_rules:
faq:
title: FAQ
meaning: Znaczenie
variable_description:
label: Zmienna
host: Host adresu
_all: Pełny adres, głównie do dopasowywania wzorów
ignore_origin_rules_definition_title: Co oznacza "Ignoruj zasady pochodzenia"?
how_to_use_them_description: Załóżmy, że chcesz zignorować pochodzenie wpisu pochodzącego z « <i>rss.example.com</i> » (<i>wiedząc, że po przekierowaniu faktyczny adres to example.com</i>).<br />W takim przypadku należy umieścić « host = "rss.example.com" » w polu <i>Reguła</i>.
variables_available_title: Jakich zmiennych i operatorów mogę użyć przy pisaniu reguł?
operator_description:
matches: 'Sprawdza, czy <i>temat</i> pasuje do <i>wyszukiwania</i> (wielkość liter nie ma znaczenia).<br />Przykład: <code>_all ~ "https?://rss.example.com/foobar/.*"</code>'
label: Operator
equal_to: Równe…
ignore_origin_rules_definition_description: Są one używane przez wallabag do automatycznego ignorowania adresu źródłowego po przekierowaniu.<br />Jeśli przekierowanie nastąpi podczas pobierania nowego wpisu, wszystkie reguły ignorowania pochodzenia (<i>zdefiniowane przez użytkownika i zdefiniowane przez instancję</i>) zostaną użyte do zignorowania adresu pochodzenia.
how_to_use_them_title: Jak ich użyć?
variables_available_description: 'Następujące zmienne i operatory mogą być użyte do tworzenia reguł ignorowania pochodzenia:'
otp:
app:
enable: Włącz
two_factor_code_description_5: 'Jeśli nie widzisz kodu QR lub nie możesz go zeskanować, wprowadź następujący sekret w swojej aplikacji:'
two_factor_code_description_4: 'Przetestuj kod OTP ze skonfigurowanej aplikacji:'
cancel: Anuluj
qrcode_label: Kod QR
two_factor_code_description_1: Właśnie włączono uwierzytelnianie dwuskładnikowe OTP, otwórz aplikację OTP i użyj tego kodu, aby uzyskać jednorazowe hasło. Zniknie po przeładowaniu strony.
two_factor_code_description_2: 'Możesz zeskanować ten kod QR za pomocą swojej aplikacji:'
two_factor_code_description_3: 'Zapisz też te kody zapasowe w bezpiecznym miejscu, możesz ich użyć w przypadku utraty dostępu do aplikacji OTP:'
page_title: Uwierzytelnianie dwuskładnikowe
entry:
default_title: Tytuł wpisu
page_titles:
unread: Nieprzeczytane wpisy
starred: Wpisy oznaczone gwiazdką
starred: Wpisy wyróżnione
archived: Zarchiwizowane wpisy
filtered: Odfiltrowane wpisy
filtered_tags: 'Filtrowane po tagach:'
filtered_search: 'Filtrowanie po wyszukiwaniu:'
untagged: Odtaguj wpisy
all: Wszystkie przedmioty
with_annotations: Wpisy z adnotacjami
same_domain: Ta sama domena
list:
number_on_the_page: '{0} Nie ma wpisów.|{1} Jest jeden wpis.|]1,Inf[ Są %count% wpisy.'
reading_time: szacunkowy czas czytania
@ -224,14 +253,16 @@ entry:
reading_time_less_one_minute_short: '&lt; 1 min'
original_article: oryginał
toogle_as_read: Oznacz jako przeczytane
toogle_as_star: Oznacz jako ulubione
toogle_as_star: Przełącz wyróżnienie
delete: Usuń
export_title: Export
export_title: Eksportuj
show_same_domain: Pokaż artykuły z tej samej domeny
assign_search_tag: Przypisz to wyszukiwanie jako tag do każdego wyniku
filters:
title: Filtry
status_label: Status
archived_label: Zarchiwizowane
starred_label: Oznaczone gwiazdką
starred_label: Wyróżnione
unread_label: Nieprzeczytane
preview_picture_label: Posiada podgląd obrazu
preview_picture_help: Podgląd obrazu
@ -251,26 +282,31 @@ entry:
action:
clear: Wyczyść
filter: Filtruj
annotated_label: Z adnotacjami
view:
left_menu:
back_to_top: Wróć na górę
back_to_homepage: Cofnij
set_as_read: Oznacz jako przeczytane
set_as_unread: Oznacz jako nieprzeczytane
set_as_starred: Ulubione
set_as_starred: Przełącz wyróżnienie
view_original_article: Oryginalny artykuł
re_fetch_content: Pobierz ponownie treść
delete: Usuń
add_a_tag: Dodaj tag
share_content: Udostępnij
share_email_label: Adres email
share_email_label: Adres e-mail
public_link: Publiczny link
delete_public_link: Usuń publiczny link
export: Export
export: Eksportuj
print: Drukuj
problem:
label: Problemy?
description: Czy ten artykuł wygląda źle?
theme_toggle: Przełącznik motywu
theme_toggle_light: Jasny
theme_toggle_dark: Ciemny
theme_toggle_auto: Automatyczny
edit_title: Edytuj tytuł
original_article: oryginalny
annotations_on_the_entry: '{0} Nie ma adnotacji |{1} Jedna adnotacja |]1,Inf[ %count% adnotacji'
@ -282,25 +318,26 @@ entry:
page_title: Zapisz nowy wpis
placeholder: http://website.com
form_new:
url_label: Url
url_label: Adres URL
search:
placeholder: Czego szukasz?
edit:
page_title: Edytuj wpis
title_label: Tytuł
url_label: Adres URL
origin_url_label: Oryginalny url (gdzie znalazłeś ten wpis)
origin_url_label: Oryginalny adres URL (gdzie znaleziono ten wpis)
save_label: Zapisz
public:
shared_by_wallabag: Ten artykuł został udostępniony przez <a href='%wallabag_instance%'>wallabag</a>
confirm:
delete: Czy jesteś pewien, że chcesz usunąć ten artykuł?
delete_tag: Czy jesteś pewien, że chcesz usunąć ten tag, z tego artykułu?
delete_tag: Czy jesteś pewien, że chcesz usunąć ten tag z tego artykułu?
metadata:
reading_time: Szacowany czas czytania
reading_time_minutes_short: '%readingTime% min'
address: Adres
added_on: Dodano
published_on: Opublikowano dnia
about:
page_title: O nas
top_menu:
@ -308,7 +345,7 @@ about:
getting_help: Pomoc
helping: Pomóż wallabagowi
contributors: Osoby, które pomogły przy projekcie
third_party: Biblioteki Third-party
third_party: Biblioteki zewnętrzne
who_behind_wallabag:
developped_by: Stworzony przez
website: strona internetowa
@ -328,11 +365,11 @@ about:
contributors:
description: Podziękuj osobą, które przyczyniły się do projektu przez aplikację webową
third_party:
description: 'Tutaj znajduje się lista Third-party bibliotek użytych w wallabag (z ich licencjami):'
description: 'Tutaj znajduje się lista bibliotek zewnętrznych użytych w wallabag (z ich licencjami):'
package: Paczka
license: Licencja
howto:
page_title: How to
page_title: Jak to zrobić
page_description: 'Sposoby zapisania artykułu:'
tab_menu:
add_link: Dodaj link
@ -361,14 +398,14 @@ howto:
action: Akcja
all_pages_title: Skróty dostępne na wszystkich stronach
go_unread: Idź do nieprzeczytanych
go_starred: Idź do oznaczonych gwiazdką
go_starred: Idź do wyróżnionych
go_archive: Idź do archiwum
go_all: Idź do wszystkich wpisów
go_tags: Idź do tagów
go_config: Idź do konfiguracji
go_import: Idź do importu
go_developers: Idź do deweloperów
go_howto: Idź do howto (tej strony!)
go_howto: Idź do jak to zrobić (tej strony!)
go_logout: Wyloguj
list_title: Skróty dostępne w spisie stron
search: Pokaż formularz wyszukiwania
@ -395,9 +432,10 @@ quickstart:
language: Zmień język i wygląd
rss: Włącz kanały RSS
tagging_rules: Napisz reguły pozwalające na automatyczne otagowanie twoich artykułów
feed: Włącz kanały
admin:
title: Administracja
description: 'Jako administrator wallabag, możesz:'
description: 'Jako administrator masz uprawnienia w wallabag. Możesz:'
new_user: Tworzyć nowego użytkownika
analytics: Konfigurować analityki
sharing: Włączyć pewne parametry dotyczące udostępniania artykułów
@ -405,11 +443,11 @@ quickstart:
import: Skonfigurować import
first_steps:
title: Pierwsze kroki
description: Teraz wallabag jest poprawnie skonfigurowany, więc czas zarchiwizować Internet. Kliknij w prawym górnym rogu na znak +, aby dodać link.
description: Teraz wallabag jest poprawnie skonfigurowany, więc czas zarchiwizować Internet. Kliknij w prawym górnym rogu znak +, aby dodać link.
new_article: Zapisz swój pierwszy artukuł
unread_articles: I sklasyfikuj go!
migrate:
title: Migruj w istniejącej usługi
title: Migruj z istniejącej usługi
description: Używasz innej usługi? Pomożemy ci pobrać twoje dane do wallabag.
pocket: Migruj z Pocket
wallabag_v1: Migruj z wallabag v1
@ -422,8 +460,8 @@ quickstart:
create_application: Stwórz swoją aplikację
use_docker: Użyj Dockera aby zainstalować wallabag
docs:
title: Pełna Dokumentacja
description: Wallabag powiada wiele funkcji. Nie wahaj się przeczytać instrukcji, aby je poznać i nauczyć się jak ich używać.
title: Pełna dokumentacja
description: wallabag ma wiele funkcji. Nie wahaj się przeczytać instrukcji, aby je poznać i nauczyć się z nich korzystać.
annotate: Dadaj adnotację do swojego artykułu
export: Konwertuj swoje artykuły do ePUB lub PDF
search_filters: Zabacz jak możesz znaleźć artykuł dzięku użyciu silnika wyszukiwarki i filtrów
@ -433,13 +471,15 @@ quickstart:
title: Wsparcie
description: Jeżeli potrzebujesz pomocy, jesteśmy tutaj dla ciebie.
github: na GitHubie
email: przez email
email: przez e-mail
gitter: na Gitterze
tag:
page_title: Tagi
list:
number_on_the_page: '{0} Nie ma tagów.|{1} Jest jeden tag.|]1,Inf[ Są %count% tagi.'
see_untagged_entries: Zobacz nieotagowane wpisy
untagged: Odtaguj wpisy
no_untagged_entries: Nie ma nieoznaczonych wpisów.
new:
add: Dodaj
placeholder: Możesz dodać kilka tagów, oddzielając je przecinkami.
@ -447,35 +487,35 @@ export:
footer_template: <div style="text-align:center;"><p>Stworzone przez wallabag z %method%</p><p>Proszę zgłoś <a href="https://github.com/wallabag/wallabag/issues">sprawę</a>, jeżeli masz problem z wyświetleniem tego e-booka na swoim urządzeniu.</p></div>
unknown: Nieznany
import:
page_title: Import
page_description: Witaj w importerze Wallabag. Wybierz swoją poprzednią usługę, z której chcesz migrować.
page_title: Importuj
page_description: Witaj w importerze wallabag. Wybierz swoją poprzednią usługę, z której chcesz migrować.
action:
import_contents: Import zawartości
form:
mark_as_read_title: Oznaczyć wszystkie jako przeczytane?
mark_as_read_label: Oznacz wszystkie zaimportowane wpisy jako przeczytane
file_label: Plik
save_label: Właduj plik
save_label: Prześlij plik
pocket:
page_title: Importuj > Pocket
description: Ten importer, zaimportuje dane z usługi Pocket. Pocket nie pozwala na nam na pobranie zawartości ze swojej usługi, więc kontent każdego artykułu zostanie ponownie pobrany przez wallabag.
config_missing:
description: Import z Pocket nie jest skonfigurowany.
admin_message: Musisz zdefiniować %keyurls%a pocket_consumer_key%keyurle%.
user_message: Admin twojego servera musi zdefiniować API Key dla Pocket.
authorize_message: Możesz zaimportować dane ze swojego konta Pocket. Kliknij poniższy przycisk i autoryzuj aplikacje aby połączyć się z getpocket.com.
user_message: Administrator serwera musi zdefiniować klucz API dla Pocket.
authorize_message: Możesz zaimportować swoje dane z konta Pocket. Wystarczy, że klikniesz w poniższy przycisk i autoryzujesz aplikację do połączenia z getpocket.com.
connect_to_pocket: Połącz z Pocket i importuj dane
wallabag_v1:
page_title: Importuj > Wallabag v1
description: Ten importer, zaimportuje wszystkie twoje artykułu z wallabag v1. Na swojej stronie konfiguracyjnej kliknij "JSON eksport" w sekcji "Eksportuj swoje dane wallabag". Otrzymasz plik "wallabag-export-1-xxxx-xx-xx.json".
how_to: Wybierz swój plik eksportu z wallabag i kliknij poniższy przycisk, aby go załadować.
how_to: Wybierz swój plik eksportu z wallabag i kliknij przycisk poniżej, aby go przesłać i zaimportować.
wallabag_v2:
page_title: Importuj > Wallabag v2
description: Ten importer, zaimportuje wszystkie twoje artykułu z wallabag v2. Idź do wszystkich artykułów, a następnie na panelu exportu kliknij na "JSON". Otrzymasz plik "All articles.json".
readability:
page_title: Importuj > Readability
description: Ten importer, zaimportuje wszystkie twoje artykuły z Readability. Na stronie narzędzi (https://www.readability.com/tools/), kliknij na "Export your data" w sekcji "Data Export". Otrzymach email z plikiem JSON (plik nie będzie zawierał rozszerzenia .json).
how_to: Wybierz swój plik eksportu z Readability i kliknij poniższy przycisk, aby go załadować.
how_to: Wybierz swój plik eksportu z Readability i kliknij przycisk poniżej, aby go przesłać i zaimportować.
worker:
enabled: 'Import jest wykonywany asynchronicznie. Od momentu rozpoczęcia importu, zewnętrzna usługa może zajmować się na raz tylko jednym zadaniem. Bieżącą usługą jest:'
download_images_warning: Włączyłeś pobieranie obrazów dla swoich artykułów. W połączeniu z klasycznym importem, może to zająć dużo czasu (lub zakończyć się niepowodzeniem).<strong>Zdecydowanie zalecamy</strong> włączenie asynchronicznego importu, w celu uniknięcia błędów.
@ -490,11 +530,18 @@ import:
instapaper:
page_title: Importuj > Instapaper
description: Ten importer, zaimportuje wszystkie twoje artykuły z Instapaper. W ustawieniach (https://www.instapaper.com/user), kliknij na "Download .CSV file" w sekcji "Export". Otrzymasz plik CSV.
how_to: Wybierz swój plik eksportu z Instapaper i kliknij poniższy przycisk, aby go załadować.
how_to: Wybierz swój plik eksportu z Instapaper i kliknij przycisk poniżej, aby go przesłać i zaimportować.
pinboard:
page_title: Importuj > Pinboard
description: Ten importer, zaimportuje wszystkie twoje artykuły z Pinboard. W ustawieniach kopii zapasowej (https://pinboard.in/settings/backup), kliknij na "JSON" w sekcji "Bookmarks". Otrzymasz plik "pinboard_export".
how_to: Wybierz swój plik eksportu z Pinboard i kliknij poniższy przycisk, aby go załadować.
how_to: Wybierz swój plik eksportu z Pinboard i kliknij przycisk poniżej, aby go przesłać i zaimportować.
elcurator:
page_title: Importuj > elCurator
description: Ten importer zaimportuje wszystkie artykuły elCurator. Przejdź do swoich preferencji na koncie elCurator, a następnie wyeksportuj treści. Otrzymasz plik JSON.
delicious:
page_title: Importuj > del.icio.us
description: Ten importer zaimportuje wszystkie zakładki Delicious. Od 2021 r. możesz ponownie wyeksportować z niego swoje dane za pomocą strony eksportu (https://del.icio.us/export). Wybierz format "JSON" i pobierz go (np. "delicious_export.2021.02.06_21.10.json").
how_to: Wybierz plik eksportu Delicious i kliknij przycisk poniżej, aby go przesłać i zaimportować.
developer:
page_title: Zarządzanie klientami API
welcome_message: Witaj w API wallabag
@ -509,7 +556,7 @@ developer:
title: Istniejący klienci
field_id: ID klienta
field_secret: Sekret klienta
field_uris: Przekieruj URIs
field_uris: Przekieruj identyfikatory URI
field_grant_types: Przyznaj pozwolenie
no_client: Nie ma jeszcze klienta.
remove:
@ -524,11 +571,12 @@ developer:
redirect_uris_label: Przekieruj adresy URI
save_label: Stwórz nowego klienta
action_back: Cofnij
copy_to_clipboard: Kopiuj
client_parameter:
page_title: Zarządzanie klientami API > Parametry klienta
page_description: Tutaj znajdują się parametry klienta.
field_name: Nazwa klienta
field_id: Client ID
field_id: ID klienta
field_secret: Sekret klienta
back: Cofnij
read_howto: Przeczytaj jak "Stworzyć moją pierwszą aplikację"
@ -561,14 +609,16 @@ user:
password_label: Hasło
repeat_new_password_label: Powtórz nowe hasło
plain_password_label: Jawne hasło
email_label: Adres email
email_label: Adres e-mail
enabled_label: Włączony
last_login_label: Ostatnie logowanie
twofactor_label: Autoryzacja dwuetapowa
save: Zapisz
delete: Usuń
delete_confirm: Jesteś pewien?
delete_confirm: Czy na pewno?
back_to_list: Powrót do listy
twofactor_google_label: Uwierzytelnianie dwuskładnikowe przez aplikację OTP
twofactor_email_label: Uwierzytelnianie dwuskładnikowe przez e-mail
search:
placeholder: Filtruj po nazwie użytkownika lub adresie e-mail
site_credential:
@ -588,7 +638,7 @@ site_credential:
password_label: Hasło
save: Zapisz
delete: Usuń
delete_confirm: Jesteś pewien?
delete_confirm: Czy na pewno?
back_to_list: Powrót do listy
error:
page_title: Wystąpił błąd
@ -607,6 +657,15 @@ flashes:
tags_reset: Zresetuj tagi
entries_reset: Zresetuj wpisy
archived_reset: Zarchiwizowane wpisy usunięte
feed_updated: Zaktualizowano informacje o kanale
feed_token_updated: Zaktualizowano token kanału
ignore_origin_rules_updated: Zaktualizowano zasadę ignorowania pochodzenia
otp_enabled: Włączono uwierzytelnianie dwuskładnikowe
tagging_rules_imported: Zaimportowano zasady tagowania
feed_token_revoked: Unieważniono token kanału
otp_disabled: Wyłączono uwierzytelnianie dwuskładnikowe
tagging_rules_not_imported: Błąd podczas importowania zasad tagowania
ignore_origin_rules_deleted: Usunięto zasadę ignorowania pochodzenia
entry:
notice:
entry_already_saved: Wpis już został dodany %date%
@ -617,12 +676,14 @@ flashes:
entry_reloaded_failed: Wpis ponownie załadowany, ale wystąpił bład pobierania treści
entry_archived: Wpis dodany do archiwum
entry_unarchived: Wpis usunięty z archiwum
entry_starred: Wpis oznaczony gwiazdką
entry_unstarred: Wpis odznaczony gwiazdką
entry_starred: Wpis wyróżniony
entry_unstarred: Wpis bez wyróżnienia
entry_deleted: Wpis usunięty
no_random_entry: Nie znaleziono artykułu spełniającego te kryteria
tag:
notice:
tag_added: Tag dodany
tag_renamed: Zmieniono nazwę tagu
import:
notice:
failed: Nieudany import, prosimy spróbować ponownie.
@ -646,3 +707,25 @@ flashes:
added: Poświadczenie dla "%host%" dodane
updated: Poświadczenie dla "%host%" zaktualizowane
deleted: Poświadczenie dla "%host%" usuniętę
ignore_origin_instance_rule:
notice:
added: Dodano globalną zasadę ignorowania pochodzenia
updated: Zaktualizowano globalną zasadę ignorowania pochodzenia
deleted: Usunięto globalną zasadę ignorowania pochodzenia
ignore_origin_instance_rule:
page_title: Globalne zasady ignorowania pochodzenia
new_ignore_origin_instance_rule: Utwórz globalną zasadę ignorowania pochodzenia
edit_ignore_origin_instance_rule: Edytuj globalną zasadę ignorowania pochodzenia
form:
delete: Usuń
rule_label: Zasada
delete_confirm: Czy na pewno?
back_to_list: Powrót do listy
save: Zapisz
list:
create_new_one: Utwórz nową globalną zasadę ignorowania pochodzenia
yes: Tak
no: Nie
actions: Akcje
edit_action: Edytuj
description: Tutaj możesz zarządzać globalnymi zasadami ignorowania pochodzenia, używanymi do ignorowania niektórych wzorców oryginalnych adresów URL.

View File

@ -141,6 +141,9 @@ config:
feed_link:
all: Todos
feed_limit: Número de itens no feed
otp:
app:
cancel: Cancelar
entry:
default_title: 'Título da entrada'
page_titles:
@ -329,6 +332,7 @@ tag:
list:
number_on_the_page: '{0} Não existem tags.|{1} Uma tag.|]1,Inf[ Existem %count% tags.'
see_untagged_entries: 'Ver entradas sem tags'
untagged: Entradas sem tags
import:
page_title: 'Importar'
page_description: 'Bem-vindo ao importador do wallabag. Por favo selecione o serviço do qual deseja migrar.'

View File

@ -381,6 +381,7 @@ tag:
list:
number_on_the_page: '{0} ไม่มีการแท็ก|{1} มีหนึ่งแท็ก|]1,Inf[ มี %count% แท็ก'
see_untagged_entries: 'พบรายการที่ไม่ได้แท็ก'
untagged: รายการที่ไม่ได้แท็ก
new:
add: 'เพิ่ม'
placeholder: 'คุณสามารถเพิ่มได้หลายแท็ก, จากการแบ่งโดย comma'

View File

@ -37,6 +37,7 @@ menu:
theme_toggle_auto: Otomatik tema
theme_toggle_dark: Koyu renk tema
theme_toggle_light: ık renk tema
with_annotations: ıklama metinleriyle
top:
add_new_entry: Yeni bir makale ekle
search: Ara
@ -244,6 +245,8 @@ entry:
delete: Sil
export_title: Dışa Aktar
number_of_tags: '{1}ve başka etiket|]1,Inf[ve %count% başka etiket'
show_same_domain: Aynı etki alanına sahip makaleleri göster
assign_search_tag: Bu aramayı her sonuca bir etiket olarak ata
filters:
title: Filtreler
status_label: Durum
@ -268,6 +271,7 @@ entry:
is_public_label: Herkese açık bağlantısı var
is_public_help: Herkese açık bağlantı
http_status_label: HTTP durumu
annotated_label: ıklamalı
view:
left_menu:
back_to_homepage: Geri
@ -319,6 +323,8 @@ entry:
filtered_search: 'Arama kriteri ile filtrele:'
untagged: Etiketlenmemiş makaleler
all: Tüm makaleler
with_annotations: ıklama metinleri olan makaleler
same_domain: Aynı etki alanı
search:
placeholder: Neye bakıyordunuz?
public:
@ -529,6 +535,10 @@ import:
elcurator:
description: Bu içe aktarıcı tüm elCurator makalelerinizi içe aktaracak. elCurator hesabınızda tercihlerinize gidin ve ardından içeriğinizi dışa aktarın. Bir JSON dosyanız olacak.
page_title: İçe Aktar > elCurator
delicious:
page_title: İçe aktar > del.icio.us
description: Bu içe aktarıcı tüm Delicious yer imlerinizi içe aktaracaktır. 2021'den beri, dışa aktarma sayfasını kullanarak verilerinizi tekrar dışa aktarabilirsiniz (https://del.icio.us/export). "JSON" biçimini seçin ve indirin ("delicious_export.2021.02.06_21.10.json" gibi).
how_to: Lütfen Delicious dışa aktarım dosyanızı seçin ve aşağıdaki düğmeye tıklayarak içe aktarın.
user:
form:
username_label: Kullanıcı adı

View File

@ -1 +1,107 @@
{}
config:
tab_menu:
feed: 訂閱源
settings: 設定
password: 密碼
rules: 標籤規則
ignore_origin: 忽略原始規則
reset: 重設區域
new_user: 新增使用者
user_info: 使用者資訊
page_title: 設定
form_settings:
theme_label: 主題
reading_speed:
300_word: 我每分鐘約可讀 300 個字
label: 閱讀速度
help_message: 你可以使用線上工具來預估你的閱讀速度:
100_word: 我每分鐘約可讀 100 個字
200_word: 我每分鐘約可讀 200 個字
400_word: 我每分鐘約可讀 400 個字
action_mark_as_read:
redirect_homepage: 回到首頁
redirect_current_page: 停留在本頁
label: 將一個項目刪除、收藏或標記為已讀後該做什麼呢?
help_items_per_page: 你可以調整每頁呈現的項目數量。
items_per_page_label: 每頁項目數量
language_label: 語言
form_feed:
description: 你可以使用你喜愛的 Atom 閱讀器來閱讀由 wallabag 提供的 Atom 訂閱源。為此你需要先產生一組 token。
form_user:
delete:
description: 如果你移除了你自己的帳號,你所有的項目、標籤、註釋包含你的帳號本身都會被 "用久" 的移除(無法復原)。然後你將會被自動登出。
form:
save: 儲存
menu:
left:
quickstart: 快速開始
ignore_origin_instance_rules: 全域忽略原始規則
howto: 指南
with_annotations: 附有註釋的
tags: 標籤
internal_settings: 內部設定
import: 匯入
logout: 登出
search: 搜尋
back_to_unread: 回到未讀項目
users_management: 使用者管理
site_credentials: 網站憑證
theme_toggle_light: 淺色主題
theme_toggle_dark: 深色主題
theme_toggle_auto: 根據系統設定自動設定主題
developer: 客戶端 API 管理
config: 設定
unread: 未讀
starred: 收藏
about: 關於
save_link: 儲存連結
all_articles: 所有項目
archive: 歸檔
top:
random_entry: 由列表中隨機選擇項目
account: 我的帳號
export: 匯出
filter_entries: 項目篩選
search: 搜尋
add_new_entry: 新增項目
search_form:
input_label: 請在此輸入搜尋字串
security:
login:
submit: 登入
register: 註冊
page_title: 歡迎使用 wallabag!
keep_logged_in: 保持登入狀態
forgot_password: 忘記密碼了嗎?
cancel: 取消
username: 使用者名稱
password: 密碼
register:
page_title: 建立一個新帳號
go_to_account: 前往你的帳號
resetting:
description: 請輸入您的電子郵件地址,我們將會寄送密碼重製操作指示。
footer:
wallabag:
elsewhere: 將 wallabag 隨身攜帶
social: 社群
powered_by: 運行於
about: 關於
stats: 自從 %user_creation% 以來,你已閱讀 %nb_archives% 篇項目. 這大約是 %per_day% 篇一天!
entry:
list:
show_same_domain: 顯示同一域名的項目
howto:
shortcuts:
arrows_navigation: 在項目間導覽
quickstart:
first_steps:
unread_articles: 然後將他分類!
docs:
all_docs: 還有另外許多的項目!
export: 將你的項目轉換為 ePUB 或 PDF 版本
configure:
tagging_rules: 撰寫規則來自動化標籤你的項目
import:
wallabag_v1:
description: 這個匯入器將會匯入 wallabag v1 中你所有的項目。在設定頁面的 "匯出 wallabag 資料" 頁簽中,點選 "匯出 JSON 檔",你將會得到檔名為 "wallabag-export-1-xxxx-xx-xx.json" 檔案。

View File

@ -28,7 +28,7 @@
<header class="block">
<h1>{{ entry.title|e|raw }}</h1>
<a href="{{ entry.url|e }}" target="_blank" rel="noopener" title="{{ 'entry.view.original_article'|trans }} : {{ entry.title|e|raw }}" class="tool">{{ entry.domainName|removeWww }}</a>
<p class="shared-by">{{ "entry.public.shared_by_wallabag"|trans({'%wallabag_instance%': url('homepage'), '%username%': entry.user.username})|raw }}.</p>
<p class="shared-by">{{ "entry.public.shared_by_wallabag"|trans({'%wallabag_instance%': url('homepage'), '%username%': entry.user.username|escape})|raw }}.</p>
</header>
<article class="block">
{{ entry.content | raw }}

View File

@ -548,7 +548,7 @@
</div>
</div>
</div>
<div id="set7" class="col s12">
<div class="row">
<h5>{{ 'config.reset.title'|trans }}</h5>
@ -573,9 +573,11 @@
<div class="row">
<h5>{{ 'config.form_user.delete.title'|trans }}</h5>
<p>{{ 'config.form_user.delete.description'|trans }}</p>
<a href="{{ path('delete_account') }}" onclick="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" class="waves-effect waves-light btn red delete-account">
{{ 'config.form_user.delete.button'|trans }}
</a>
<form action="{{ path('delete_account') }}" method="post" onsubmit="return confirm('{{ 'config.form_user.delete.confirm'|trans|escape('js') }}')" name="delete-account">
<input type="hidden" name="token" value="{{ csrf_token('delete-account') }}" />
<button class="waves-effect waves-light btn red" type="submit">{{ 'config.form_user.delete.button'|trans }}</button>
</form>
</div>
{% endif %}
</div>

View File

@ -33,8 +33,4 @@
{% endfor %}
</ul>
</div>
<div>
</div>
{% endblock %}

View File

@ -18,7 +18,7 @@ class RedisWorkerCommand extends ContainerAwareCommand
->setName('wallabag:import:redis-worker')
->setDescription('Launch Redis worker')
->addArgument('serviceName', InputArgument::REQUIRED, 'Service to use: wallabag_v1, wallabag_v2, pocket, readability, pinboard, delicious, firefox, chrome or instapaper')
->addOption('maxIterations', '', InputOption::VALUE_OPTIONAL, 'Number of iterations before stoping', false)
->addOption('maxIterations', '', InputOption::VALUE_OPTIONAL, 'Number of iterations before stopping', false)
;
}

View File

@ -1,7 +1,7 @@
auth_code:
on: an
mailer:
subject: wallabag-Authentifizierungcode
subject: wallabag-Authentifizierungscode
body:
hello: Hallo %user%,
first_para: Da du die Zwei-Faktor-Authentifizierung in deinem wallabag-Konto aktiviert hast und du dich gerade von einem neuen Gerät (Computer, Handy, etc.) anmeldest, senden wir dir einen Code, um deinen Zugriff zu prüfen.

View File

@ -1,12 +1,10 @@
auth_code:
on: włączony
mailer:
subject: Kod autoryzacyjny Wallabag
body:
hello: Cześć %user%,
first_para: Od momentu włączenia na swoim koncie autoryzacji dwuetapowej i zalogowaniu
się na nowym urządzeniu (komputer, telefon, etc.), wyślemy do ciebie kod potwierdzający
twoje połączenie.
second_para: 'Tutaj jest twój kod:'
support: 'Nie wahaj się skontaktować z nami, jeżeli masz jakiekolwiek problemy:'
signature: Zespół wallabag
on: włączony
mailer:
subject: Kod uwierzytelniający wallabag
body:
hello: Cześć, %user%,
first_para: Ponieważ do zalogowania się na konto wallabag wymagane jest uwierzytelnianie dwuskładnikowe, a nowe urządzenie właśnie z niego korzystało, wyślemy Ci kod, aby zweryfikować jego połączenie.
second_para: 'Oto kod:'
support: 'Nie wahaj się skontaktować z nami, jeżeli masz jakiekolwiek problemy:'
signature: Zespół wallabag

View File

@ -1,5 +1,5 @@
{# Override `vendor/scheb/two-factor-bundle/Resources/views/Authentication/form.html.twig` #}
{% extends "WallabagUserBundle::layout.html.twig" %}
{% extends "FOSUserBundle::layout.html.twig" %}
{% block fos_user_content %}
<form class="form" action="{{ path("2fa_login_check") }}" method="post">

View File

@ -22,8 +22,6 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
}
/**
* Test fetching annotations for an entry.
*
* @dataProvider dataForEachAnnotations
*/
public function testGetAnnotations($prefixUrl)
@ -35,15 +33,7 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
->findOneByUserName('admin');
$entry = $em
->getRepository('WallabagCoreBundle:Entry')
->findOneByUsernameAndNotArchived('admin');
$annotation = new Annotation($user);
$annotation->setEntry($entry);
$annotation->setText('This is my annotation /o/');
$annotation->setQuote('content');
$em->persist($annotation);
$em->flush();
->findByUrlAndUserId('http://0.0.0.0/entry1', $user->getId());
if ('annotations' === $prefixUrl) {
$this->logInAs('admin');
@ -54,23 +44,44 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
$content = json_decode($this->client->getResponse()->getContent(), true);
$this->assertGreaterThanOrEqual(1, $content['total']);
$this->assertSame($annotation->getText(), $content['rows'][0]['text']);
// we need to re-fetch the annotation becase after the flush, it has been "detached" from the entity manager
$annotation = $em->getRepository('WallabagAnnotationBundle:Annotation')->findAnnotationById($annotation->getId());
$em->remove($annotation);
$em->flush();
}
/**
* Test creating an annotation for an entry.
*
* @dataProvider dataForEachAnnotations
*/
public function testGetAnnotationsFromAnOtherUser($prefixUrl)
{
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
$otherUser = $em
->getRepository('WallabagUserBundle:User')
->findOneByUserName('bob');
$entry = $em
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId('http://0.0.0.0/entry3', $otherUser->getId());
if ('annotations' === $prefixUrl) {
$this->logInAs('admin');
}
$this->client->request('GET', $prefixUrl . '/' . $entry->getId() . '.json');
$this->assertSame(200, $this->client->getResponse()->getStatusCode());
$content = json_decode($this->client->getResponse()->getContent(), true);
$this->assertGreaterThanOrEqual(0, $content['total']);
}
/**
* @dataProvider dataForEachAnnotations
*/
public function testSetAnnotation($prefixUrl)
{
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
$user = $em
->getRepository('WallabagUserBundle:User')
->findOneByUserName('admin');
if ('annotations' === $prefixUrl) {
$this->logInAs('admin');
}
@ -102,7 +113,7 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
/** @var Annotation $annotation */
$annotation = $em
->getRepository('WallabagAnnotationBundle:Annotation')
->findLastAnnotationByPageId($entry->getId(), 1);
->findLastAnnotationByUserId($entry->getId(), $user->getId());
$this->assertSame('my annotation', $annotation->getText());
}
@ -195,8 +206,6 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
}
/**
* Test editing an existing annotation.
*
* @dataProvider dataForEachAnnotations
*/
public function testEditAnnotation($prefixUrl)
@ -243,8 +252,31 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
}
/**
* Test deleting an annotation.
*
* @dataProvider dataForEachAnnotations
*/
public function testEditAnnotationFromAnOtherUser($prefixUrl)
{
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
$otherUser = $em
->getRepository('WallabagUserBundle:User')
->findOneByUserName('bob');
$entry = $em
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId('http://0.0.0.0/entry3', $otherUser->getId());
$annotation = $em
->getRepository('WallabagAnnotationBundle:Annotation')
->findLastAnnotationByUserId($entry->getId(), $otherUser->getId());
$headers = ['CONTENT_TYPE' => 'application/json'];
$content = json_encode([
'text' => 'a modified annotation',
]);
$this->client->request('PUT', $prefixUrl . '/' . $annotation->getId() . '.json', [], [], $headers, $content);
$this->assertSame(404, $this->client->getResponse()->getStatusCode());
}
/**
* @dataProvider dataForEachAnnotations
*/
public function testDeleteAnnotation($prefixUrl)
@ -287,4 +319,40 @@ class AnnotationControllerTest extends WallabagAnnotationTestCase
$this->assertNull($annotationDeleted);
}
/**
* @dataProvider dataForEachAnnotations
*/
public function testDeleteAnnotationFromAnOtherUser($prefixUrl)
{
$em = $this->client->getContainer()->get('doctrine.orm.entity_manager');
$otherUser = $em
->getRepository('WallabagUserBundle:User')
->findOneByUserName('bob');
$entry = $em
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId('http://0.0.0.0/entry3', $otherUser->getId());
$annotation = $em
->getRepository('WallabagAnnotationBundle:Annotation')
->findLastAnnotationByUserId($entry->getId(), $otherUser->getId());
$user = $em
->getRepository('WallabagUserBundle:User')
->findOneByUserName('admin');
$entry = $em
->getRepository('WallabagCoreBundle:Entry')
->findOneByUsernameAndNotArchived('admin');
if ('annotations' === $prefixUrl) {
$this->logInAs('admin');
}
$headers = ['CONTENT_TYPE' => 'application/json'];
$content = json_encode([
'text' => 'a modified annotation',
]);
$this->client->request('DELETE', $prefixUrl . '/' . $annotation->getId() . '.json', [], [], $headers, $content);
$this->assertSame(404, $this->client->getResponse()->getStatusCode());
}
}

View File

@ -157,6 +157,25 @@ class EntryRestControllerTest extends WallabagApiTestCase
$this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
}
public function testGetEntriesByDomainName()
{
$this->client->request('GET', '/api/entries?domain_name=domain.io');
$this->assertSame(200, $this->client->getResponse()->getStatusCode());
$content = json_decode($this->client->getResponse()->getContent(), true);
$this->assertGreaterThanOrEqual(1, \count($content));
$this->assertNotEmpty($content['_embedded']['items']);
$this->assertGreaterThanOrEqual(1, $content['total']);
$this->assertSame(1, $content['page']);
$this->assertGreaterThanOrEqual(1, $content['pages']);
$this->assertSame('test title entry6', $content['_embedded']['items'][0]['title']);
$this->assertSame('application/json', $this->client->getResponse()->headers->get('Content-Type'));
}
public function testGetEntriesWithFullOptions()
{
$this->client->request('GET', '/api/entries', [

View File

@ -20,14 +20,13 @@ class TagRestControllerTest extends WallabagApiTestCase
$this->assertGreaterThan(0, $content);
$this->assertArrayHasKey('id', $content[0]);
$this->assertArrayHasKey('label', $content[0]);
$this->assertArrayHasKey('nbEntries', $content[0]);
$tagLabels = array_map(function ($i) {
return $i['label'];
}, $content);
$this->assertNotContains($this->otherUserTagLabel, $tagLabels, 'There is a possible tag leak');
return end($content);
}
public function testDeleteUserTag()

View File

@ -794,7 +794,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
$this->assertGreaterThan(1, $body = $crawler->filter('body')->extract(['_text']));
$this->assertStringNotContainsString('config.form_user.delete.button', $body[0]);
$client->request('GET', '/account/delete');
$client->request('POST', '/account/delete');
$this->assertSame(403, $client->getResponse()->getStatusCode());
$user = $em
@ -860,9 +860,9 @@ class ConfigControllerTest extends WallabagCoreTestCase
$crawler = $client->request('GET', '/config');
$deleteLink = $crawler->filter('.delete-account')->last()->link();
$deleteForm = $crawler->filter('form[name=delete-account]')->form();
$client->click($deleteLink);
$client->submit($deleteForm);
$this->assertSame(302, $client->getResponse()->getStatusCode());
$em = $client->getContainer()->get('doctrine.orm.entity_manager');
@ -932,7 +932,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
$annotationsReset = $em
->getRepository('WallabagAnnotationBundle:Annotation')
->findAnnotationsByPageId($entry->getId(), $user->getId());
->findByEntryIdAndUserId($entry->getId(), $user->getId());
$this->assertEmpty($annotationsReset, 'Annotations were reset');
@ -1040,7 +1040,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
$annotationsReset = $em
->getRepository('WallabagAnnotationBundle:Annotation')
->findAnnotationsByPageId($annotationArchived->getId(), $user->getId());
->findByEntryIdAndUserId($annotationArchived->getId(), $user->getId());
$this->assertEmpty($annotationsReset, 'Annotations were reset');
}
@ -1097,7 +1097,7 @@ class ConfigControllerTest extends WallabagCoreTestCase
$annotationsReset = $em
->getRepository('WallabagAnnotationBundle:Annotation')
->findAnnotationsByPageId($entry->getId(), $user->getId());
->findByEntryIdAndUserId($entry->getId(), $user->getId());
$this->assertEmpty($annotationsReset, 'Annotations were reset');
}

View File

@ -1489,16 +1489,16 @@ class EntryControllerTest extends WallabagCoreTestCase
'it',
],
'zh_CN' => [
'http://www.hao123.com/shequ?__noscript__-=1',
'http://tuijian.hao123.com/tuijian/?__noscript__-=1',
'zh_CN',
],
'pt_BR' => [
'https://politica.estadao.com.br/noticias/eleicoes,campanha-catatonica,70002491983',
'https://esportes.r7.com/lance/futebol/victor-hugo-e-matheus-franca-devem-desfalcar-flamengo-no-carioca-22112022',
'pt_BR',
],
'es-ES' => [
'https://www.20minutos.es/noticia/3360685/0/gobierno-sanchez-primero-historia-mas-mujeres-que-hombres/',
'es_ES',
'https://elpais.com/internacional/2022-11-03/ultima-hora-de-la-guerra-entre-rusia-y-ucrania-hoy-en-directo.html',
'es',
],
];
}

View File

@ -57,7 +57,7 @@ class ExportControllerTest extends WallabagCoreTestCase
$this->assertSame(404, $client->getResponse()->getStatusCode());
}
public function testBadEntryId()
public function testNonExistingEntryId()
{
$this->logInAs('admin');
$client = $this->getClient();
@ -67,6 +67,21 @@ class ExportControllerTest extends WallabagCoreTestCase
$this->assertSame(404, $client->getResponse()->getStatusCode());
}
public function testForbiddenEntryId()
{
$this->logInAs('admin');
$client = $this->getClient();
$content = $client->getContainer()
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
->findOneByUsernameAndNotArchived('bob');
$client->request('GET', '/export/' . $content->getId() . '.mobi');
$this->assertSame(404, $client->getResponse()->getStatusCode());
}
public function testEpubExport()
{
$this->logInAs('admin');

View File

@ -202,7 +202,7 @@ class DownloadImagesTest extends TestCase
$this->assertFalse($res);
}
public function testEnsureOnlyFirstOccurenceIsReplaced()
public function testEnsureOnlyFirstOccurrenceIsReplaced()
{
$httpMockClient = new HttpMockClient();
$httpMockClient->addResponse(new Response(200, ['content-type' => 'image/png'], file_get_contents(__DIR__ . '/../fixtures/unnamed.png')));
@ -220,4 +220,32 @@ class DownloadImagesTest extends TestCase
$this->assertSame('<img src="http://wallabag.io/assets/images/9/b/9b0ead26/6bef06fe.png" srcset="http://wallabag.io/assets/images/9/b/9b0ead26/43cc0123.png 1290w" height="573" width="860" alt="" referrerpolicy="no-referrer">', $res);
}
public function testProcessSingleImageWithSvg()
{
$httpMockClient = new HttpMockClient();
$httpMockClient->addResponse(new Response(200, ['content-type' => 'image/svg+xml'], file_get_contents(__DIR__ . '/../fixtures/modal-content.svg')));
$logHandler = new TestHandler();
$logger = new Logger('test', [$logHandler]);
$download = new DownloadImages($httpMockClient, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger);
$res = $download->processSingleImage(123, 'modal-content.svg', 'http://imgur.com/gallery/WxtWY');
$this->assertStringContainsString('/assets/images/9/b/9b0ead26/400e29f9.svg', $res);
}
public function testProcessSingleImageWithBadSvg()
{
$httpMockClient = new HttpMockClient();
$httpMockClient->addResponse(new Response(200, ['content-type' => 'image/svg+xml'], file_get_contents(__DIR__ . '/../fixtures/unnamed.png')));
$logHandler = new TestHandler();
$logger = new Logger('test', [$logHandler]);
$download = new DownloadImages($httpMockClient, sys_get_temp_dir() . '/wallabag_test', 'http://wallabag.io/', $logger);
$res = $download->processSingleImage(123, 'modal-content.svg', 'http://imgur.com/gallery/WxtWY');
$this->assertFalse($res);
}
}

View File

@ -0,0 +1,237 @@
<svg width="120" height="125" viewBox="0 0 120 125" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0)">
<g filter="url(#filter0_d)">
<path d="M82.7311 12.7383H26.7744C23.5022 12.7383 20.8496 15.4119 20.8496 18.7099V105.63C20.8496 108.928 23.5022 111.601 26.7744 111.601H82.7311C86.0033 111.601 88.6559 108.928 88.6559 105.63V18.7099C88.6559 15.4119 86.0033 12.7383 82.7311 12.7383Z" fill="black"/>
</g>
<path d="M82.7311 12.7383H26.7744C23.5022 12.7383 20.8496 15.4119 20.8496 18.7099V105.63C20.8496 108.928 23.5022 111.601 26.7744 111.601H82.7311C86.0033 111.601 88.6559 108.928 88.6559 105.63V18.7099C88.6559 15.4119 86.0033 12.7383 82.7311 12.7383Z" fill="white"/>
<path d="M80.8066 28.9941H26.9237C25.8329 28.9941 24.9487 29.8853 24.9487 30.9847V64.492C24.9487 65.5913 25.8329 66.4825 26.9237 66.4825H80.8066C81.8974 66.4825 82.7816 65.5913 82.7816 64.492V30.9847C82.7816 29.8853 81.8974 28.9941 80.8066 28.9941Z" fill="#ECF1F5" fill-opacity="0.49"/>
<path d="M80.9927 69.3936H27.1097C26.019 69.3936 25.1348 70.2847 25.1348 71.3841V86.479C25.1348 87.5783 26.019 88.4695 27.1097 88.4695H80.9927C82.0834 88.4695 82.9676 87.5783 82.9676 86.479V71.3841C82.9676 70.2847 82.0834 69.3936 80.9927 69.3936Z" fill="#ECF1F5" fill-opacity="0.49"/>
<path d="M80.9927 91.3809H27.1097C26.019 91.3809 25.1348 92.2721 25.1348 93.3714V95.0302C25.1348 96.1295 26.019 97.0207 27.1097 97.0207H80.9927C82.0834 97.0207 82.9676 96.1295 82.9676 95.0302V93.3714C82.9676 92.2721 82.0834 91.3809 80.9927 91.3809Z" fill="#ECF1F5" fill-opacity="0.49"/>
<path d="M75.6812 99.9316H27.6995C26.6088 99.9316 25.7246 100.823 25.7246 101.922V103.581C25.7246 104.68 26.6088 105.571 27.6995 105.571H75.6812C76.7719 105.571 77.6561 104.68 77.6561 103.581V101.922C77.6561 100.823 76.7719 99.9316 75.6812 99.9316Z" fill="#ECF1F5" fill-opacity="0.49"/>
<path d="M26.5945 23.5549C27.5035 23.5549 28.2403 22.8122 28.2403 21.8961C28.2403 20.98 27.5035 20.2373 26.5945 20.2373C25.6856 20.2373 24.9487 20.98 24.9487 21.8961C24.9487 22.8122 25.6856 23.5549 26.5945 23.5549Z" fill="#ECF1F5" fill-opacity="0.49"/>
<path d="M36.469 23.5549C37.378 23.5549 38.1148 22.8122 38.1148 21.8961C38.1148 20.98 37.378 20.2373 36.469 20.2373C35.5601 20.2373 34.8232 20.98 34.8232 21.8961C34.8232 22.8122 35.5601 23.5549 36.469 23.5549Z" fill="#ECF1F5" fill-opacity="0.49"/>
<path d="M31.532 23.5549C32.441 23.5549 33.1778 22.8122 33.1778 21.8961C33.1778 20.98 32.441 20.2373 31.532 20.2373C30.6231 20.2373 29.8862 20.98 29.8862 21.8961C29.8862 22.8122 30.6231 23.5549 31.532 23.5549Z" fill="#ECF1F5" fill-opacity="0.49"/>
<g opacity="0.541969">
<g opacity="0.541969" filter="url(#filter1_f)">
<path d="M33.9366 58.0879H30.0588C29.5134 58.0879 29.0713 58.5335 29.0713 59.0832V62.9916C29.0713 63.5412 29.5134 63.9868 30.0588 63.9868H33.9366C34.4819 63.9868 34.924 63.5412 34.924 62.9916V59.0832C34.924 58.5335 34.4819 58.0879 33.9366 58.0879Z" fill="#C0C0C0"/>
<path d="M33.9366 58.0879H30.0588C29.5134 58.0879 29.0713 58.5335 29.0713 59.0832V62.9916C29.0713 63.5412 29.5134 63.9868 30.0588 63.9868H33.9366C34.4819 63.9868 34.924 63.5412 34.924 62.9916V59.0832C34.924 58.5335 34.4819 58.0879 33.9366 58.0879Z" stroke="white" stroke-width="0.588656"/>
</g>
<path opacity="0.541969" d="M34.3017 56.5303H29.6935C29.1482 56.5303 28.7061 56.9759 28.7061 57.5255V62.1701C28.7061 62.7198 29.1482 63.1654 29.6935 63.1654H34.3017C34.8471 63.1654 35.2892 62.7198 35.2892 62.1701V57.5255C35.2892 56.9759 34.8471 56.5303 34.3017 56.5303Z" fill="#E4EBF1" stroke="white" stroke-opacity="0.695558" stroke-width="0.588656"/>
</g>
<g opacity="0.541969">
<g opacity="0.541969" filter="url(#filter2_f)">
<path d="M33.9366 69.9834H30.0588C29.5134 69.9834 29.0713 70.429 29.0713 70.9787V74.8871C29.0713 75.4368 29.5134 75.8824 30.0588 75.8824H33.9366C34.4819 75.8824 34.924 75.4368 34.924 74.8871V70.9787C34.924 70.429 34.4819 69.9834 33.9366 69.9834Z" fill="#C0C0C0"/>
<path d="M33.9366 69.9834H30.0588C29.5134 69.9834 29.0713 70.429 29.0713 70.9787V74.8871C29.0713 75.4368 29.5134 75.8824 30.0588 75.8824H33.9366C34.4819 75.8824 34.924 75.4368 34.924 74.8871V70.9787C34.924 70.429 34.4819 69.9834 33.9366 69.9834Z" stroke="white" stroke-width="0.588656"/>
</g>
<path opacity="0.541969" d="M34.3017 68.4258H29.6935C29.1482 68.4258 28.7061 68.8714 28.7061 69.4211V74.0656C28.7061 74.6153 29.1482 75.0609 29.6935 75.0609H34.3017C34.8471 75.0609 35.2892 74.6153 35.2892 74.0656V69.4211C35.2892 68.8714 34.8471 68.4258 34.3017 68.4258Z" fill="#E4EBF1" stroke="white" stroke-opacity="0.695558" stroke-width="0.588656"/>
</g>
<g opacity="0.541969">
<g opacity="0.541969" filter="url(#filter3_f)">
<path d="M33.9366 81.6152H30.0588C29.5134 81.6152 29.0713 82.0608 29.0713 82.6105V86.5189C29.0713 87.0686 29.5134 87.5142 30.0588 87.5142H33.9366C34.4819 87.5142 34.924 87.0686 34.924 86.5189V82.6105C34.924 82.0608 34.4819 81.6152 33.9366 81.6152Z" fill="#C0C0C0"/>
<path d="M33.9366 81.6152H30.0588C29.5134 81.6152 29.0713 82.0608 29.0713 82.6105V86.5189C29.0713 87.0686 29.5134 87.5142 30.0588 87.5142H33.9366C34.4819 87.5142 34.924 87.0686 34.924 86.5189V82.6105C34.924 82.0608 34.4819 81.6152 33.9366 81.6152Z" stroke="white" stroke-width="0.588656"/>
</g>
<path opacity="0.541969" d="M34.3017 80.0576H29.6935C29.1482 80.0576 28.7061 80.5032 28.7061 81.0529V85.6975C28.7061 86.2471 29.1482 86.6927 29.6935 86.6927H34.3017C34.8471 86.6927 35.2892 86.2471 35.2892 85.6975V81.0529C35.2892 80.5032 34.8471 80.0576 34.3017 80.0576Z" fill="#E4EBF1" stroke="white" stroke-opacity="0.695558" stroke-width="0.588656"/>
</g>
<g filter="url(#filter4_d)">
<path d="M109.293 61.5762H71.5871C69.9611 61.5762 68.6431 62.3515 68.6431 63.3079V69.369C68.6431 70.3254 69.9611 71.1008 71.5871 71.1008H109.293C110.919 71.1008 112.237 70.3254 112.237 69.369V63.3079C112.237 62.3515 110.919 61.5762 109.293 61.5762Z" fill="black"/>
</g>
<path d="M110.098 59.3086H71.1762C69.4978 59.3086 68.1372 60.4162 68.1372 61.7825V70.4413C68.1372 71.8076 69.4978 72.9152 71.1762 72.9152H110.098C111.777 72.9152 113.137 71.8076 113.137 70.4413V61.7825C113.137 60.4162 111.777 59.3086 110.098 59.3086Z" fill="white"/>
<path d="M105.265 63.0889H81.5132V65.4828H105.265V63.0889Z" fill="#8AEBE3" fill-opacity="0.3"/>
<path d="M93.389 67.2783H81.5132V69.6722H93.389V67.2783Z" fill="#8AEBE3" fill-opacity="0.3"/>
<g filter="url(#filter5_d)">
<path d="M56.7928 89.21H19.0871C17.4611 89.21 16.1431 89.9853 16.1431 90.9417V97.0028C16.1431 97.9593 17.4611 98.7346 19.0871 98.7346H56.7928C58.4188 98.7346 59.7368 97.9593 59.7368 97.0028V90.9417C59.7368 89.9853 58.4188 89.21 56.7928 89.21Z" fill="black"/>
</g>
<path d="M56.9302 87.2783H17.5552C16.0019 87.2783 14.7427 88.4967 14.7427 89.9996V98.1636C14.7427 99.6665 16.0019 100.885 17.5552 100.885H56.9302C58.4835 100.885 59.7427 99.6665 59.7427 98.1636V89.9996C59.7427 88.4967 58.4835 87.2783 56.9302 87.2783Z" fill="white"/>
<path d="M51.75 91.0576H29.25V93.5178H51.75V91.0576Z" fill="#1DB868" fill-opacity="0.16226"/>
<path d="M39.75 95.5928H29.25V97.8605H39.75V95.5928Z" fill="#1DB868" fill-opacity="0.16226"/>
<g filter="url(#filter6_d)">
<path d="M70.6744 74.8701C74.9376 74.8701 78.3937 71.3867 78.3937 67.0898C78.3937 62.7929 74.9376 59.3096 70.6744 59.3096C66.4111 59.3096 62.9551 62.7929 62.9551 67.0898C62.9551 71.3867 66.4111 74.8701 70.6744 74.8701Z" fill="black"/>
</g>
<path d="M70.6744 74.8701C74.9376 74.8701 78.3937 71.3867 78.3937 67.0898C78.3937 62.7929 74.9376 59.3096 70.6744 59.3096C66.4111 59.3096 62.9551 62.7929 62.9551 67.0898C62.9551 71.3867 66.4111 74.8701 70.6744 74.8701Z" fill="#0CA090"/>
<mask id="mask0" mask-type="alpha" maskUnits="userSpaceOnUse" x="55" y="50" width="20" height="24">
<path d="M74.25 54.7431V72.3759C74.25 73.0916 73.6711 73.6718 72.9569 73.6718H56.7931C56.0789 73.6718 55.5 73.0916 55.5 72.3759V52.29C55.5 51.5743 56.0789 50.9941 56.7931 50.9941H71.0322L74.25 54.7431Z" fill="white"/>
</mask>
<g mask="url(#mask0)">
<g filter="url(#filter7_d)">
<path d="M74.25 54.7431V72.3759C74.25 73.0916 73.6711 73.6718 72.9569 73.6718H56.7931C56.0789 73.6718 55.5 73.0916 55.5 72.3759V52.29C55.5 51.5743 56.0789 50.9941 56.7931 50.9941H71.0322L74.25 54.7431Z" fill="black"/>
</g>
<path d="M74.25 54.7431V72.3759C74.25 73.0916 73.6711 73.6718 72.9569 73.6718H56.7931C56.0789 73.6718 55.5 73.0916 55.5 72.3759V52.29C55.5 51.5743 56.0789 50.9941 56.7931 50.9941H71.0322L74.25 54.7431Z" fill="url(#paint0_linear)"/>
<g filter="url(#filter8_d)">
<path d="M74.7579 54.3307H71.9518C71.5642 54.3307 71.25 54.014 71.25 53.6234V50.2383L74.7579 54.3307Z" fill="black"/>
</g>
<path d="M74.4313 54.774H71.6251C71.2375 54.774 70.9233 54.4574 70.9233 54.0667V50.6816L74.4313 54.774Z" fill="#D0FFFA"/>
</g>
<g filter="url(#filter9_d)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M66.2193 67.6725L63.7757 65.0544L69.5705 57.2429L66.2193 67.6725Z" fill="url(#paint1_linear)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M63.7756 65.0539L63.6674 62.8067L69.5703 57.2424L63.7756 65.0539Z" fill="#9BE6BF"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M59.25 60.6495L61.7872 62.8084L69.5704 57.2441L59.25 60.6495Z" fill="url(#paint2_linear)"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M61.7871 62.8084H63.6674L69.5704 57.2441L61.7871 62.8084Z" fill="url(#paint3_linear)"/>
</g>
<g filter="url(#filter10_d)">
<path d="M14.0331 104.067C19.459 104.067 23.8576 99.6336 23.8576 94.1648C23.8576 88.696 19.459 84.2627 14.0331 84.2627C8.6071 84.2627 4.2085 88.696 4.2085 94.1648C4.2085 99.6336 8.6071 104.067 14.0331 104.067Z" fill="black"/>
</g>
<path d="M14.0331 104.059C19.459 104.059 23.8576 99.6258 23.8576 94.157C23.8576 88.6882 19.459 84.2549 14.0331 84.2549C8.6071 84.2549 4.2085 88.6882 4.2085 94.157C4.2085 99.6258 8.6071 104.059 14.0331 104.059Z" fill="url(#paint4_linear)"/>
<g filter="url(#filter11_d)">
<path fill-rule="evenodd" clip-rule="evenodd" d="M14.1968 89.873C16.6837 89.873 18.6997 91.7203 18.6997 93.9989C18.6997 96.2776 16.6837 98.1248 14.1968 98.1248C13.4439 98.1248 12.7343 97.9555 12.1106 97.6563L10.4774 98.8638L10.4769 96.3247C9.98281 95.6625 9.69385 94.8616 9.69385 93.9989C9.69385 91.7203 11.7099 89.873 14.1968 89.873Z" fill="#EFFFF7"/>
</g>
<g filter="url(#filter12_d)">
<path d="M23.737 35.876H10.763C10.2035 35.876 9.75 37.1067 9.75 38.6248V48.2456C9.75 49.7637 10.2035 50.9944 10.763 50.9944H23.737C24.2965 50.9944 24.75 49.7637 24.75 48.2456V38.6248C24.75 37.1067 24.2965 35.876 23.737 35.876Z" fill="black"/>
</g>
<path d="M18.534 55.6747C24.9289 55.6747 30.113 50.4497 30.113 44.0043C30.113 37.559 24.9289 32.334 18.534 32.334C12.1391 32.334 6.95508 37.559 6.95508 44.0043C6.95508 50.4497 12.1391 55.6747 18.534 55.6747Z" fill="url(#paint5_linear)"/>
<path d="M35.9351 41.249H21.4126C20.8873 41.249 20.4614 41.6782 20.4614 42.2077C20.4614 42.7371 20.8873 43.1663 21.4126 43.1663H35.9351C36.4604 43.1663 36.8862 42.7371 36.8862 42.2077C36.8862 41.6782 36.4604 41.249 35.9351 41.249Z" fill="#FFE9CC"/>
<path d="M29.5593 45.29H21.4126C20.8873 45.29 20.4614 45.7192 20.4614 46.2487C20.4614 46.7781 20.8873 47.2073 21.4126 47.2073H29.5593C30.0846 47.2073 30.5105 46.7781 30.5105 46.2487C30.5105 45.7192 30.0846 45.29 29.5593 45.29Z" fill="#FFE9CC"/>
<g filter="url(#filter13_d)">
<path d="M17.2503 51.8505C16.0075 51.8505 15 50.8351 15 49.5825V40.3627C15 39.1102 16.0075 38.0947 17.2503 38.0947H35.2497C36.4925 38.0947 37.5 39.1102 37.5 40.3627V49.5825C37.5 50.8351 36.4925 51.8505 35.2497 51.8505H21.6485L19.991 53.3851C19.7758 53.5844 19.445 53.5844 19.2298 53.3851L17.5723 51.8505H17.2503Z" fill="black"/>
</g>
<path d="M17.2503 51.8505C16.0075 51.8505 15 50.8351 15 49.5825V40.3627C15 39.1102 16.0075 38.0947 17.2503 38.0947H35.2497C36.4925 38.0947 37.5 39.1102 37.5 40.3627V49.5825C37.5 50.8351 36.4925 51.8505 35.2497 51.8505H21.6485L19.991 53.3851C19.7758 53.5844 19.445 53.5844 19.2298 53.3851L17.5723 51.8505H17.2503Z" fill="url(#paint6_linear)"/>
<path d="M31.031 42.8271H19.3889C18.9678 42.8271 18.6265 43.1712 18.6265 43.5956C18.6265 44.0201 18.9678 44.3641 19.3889 44.3641H31.031C31.4521 44.3641 31.7935 44.0201 31.7935 43.5956C31.7935 43.1712 31.4521 42.8271 31.031 42.8271Z" fill="#FFE9CC"/>
<path d="M25.9198 46.0674H19.3889C18.9678 46.0674 18.6265 46.4115 18.6265 46.8359C18.6265 47.2603 18.9678 47.6044 19.3889 47.6044H25.9198C26.3409 47.6044 26.6823 47.2603 26.6823 46.8359C26.6823 46.4115 26.3409 46.0674 25.9198 46.0674Z" fill="#FFE9CC"/>
</g>
<defs>
<filter id="filter0_d" x="8.84961" y="2.73828" width="91.8063" height="122.863" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="6"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.832587 0 0 0 0 0.899956 0 0 0 0 0.904167 0 0 0 0.7 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter1_f" x="27.9359" y="56.953" width="8.12326" height="8.16946" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.420468" result="effect1_foregroundBlur"/>
</filter>
<filter id="filter2_f" x="27.9359" y="68.8485" width="8.12326" height="8.16949" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.420468" result="effect1_foregroundBlur"/>
</filter>
<filter id="filter3_f" x="27.9359" y="80.4804" width="8.12326" height="8.16948" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="0.420468" result="effect1_foregroundBlur"/>
</filter>
<filter id="filter4_d" x="56.6431" y="51.5762" width="67.5938" height="33.5246" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="6"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.891304 0 0 0 0 0.891304 0 0 0 0 0.891304 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter5_d" x="4.14307" y="79.21" width="67.5938" height="33.5246" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="6"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.891304 0 0 0 0 0.891304 0 0 0 0 0.891304 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter6_d" x="58.9551" y="57.3096" width="23.4386" height="23.5605" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="2"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0470588 0 0 0 0 0.627451 0 0 0 0 0.564706 0 0 0 0.406441 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter7_d" x="50.5" y="45.9941" width="28.75" height="32.6776" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0509804 0 0 0 0 0.768627 0 0 0 0 0.705882 0 0 0 0.8 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter8_d" x="69.25" y="49.2383" width="7.50792" height="8.09238" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="1"/>
<feGaussianBlur stdDeviation="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0735419 0 0 0 0 0.599298 0 0 0 0 0.544595 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter9_d" x="57.25" y="57.2422" width="14.3206" height="14.4305" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0693481 0 0 0 0 0.648154 0 0 0 0 0.595253 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter10_d" x="-0.791504" y="79.2627" width="29.6491" height="29.8042" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0117647 0 0 0 0 0.866667 0 0 0 0 0.423529 0 0 0 0.447279 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter11_d" x="7.69385" y="89.873" width="13.0058" height="12.9907" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="1"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.0693481 0 0 0 0 0.648154 0 0 0 0 0.595253 0 0 0 0.3 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter12_d" x="-2.25" y="25.876" width="39" height="39.1184" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset dy="2"/>
<feGaussianBlur stdDeviation="6"/>
<feColorMatrix type="matrix" values="0 0 0 0 0.891304 0 0 0 0 0.891304 0 0 0 0 0.891304 0 0 0 1 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<filter id="filter13_d" x="10" y="33.0947" width="32.5" height="25.4398" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/>
<feOffset/>
<feGaussianBlur stdDeviation="2.5"/>
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 0.589163 0 0 0 0 0.0862745 0 0 0 0.4 0"/>
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/>
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/>
</filter>
<linearGradient id="paint0_linear" x1="64.875" y1="50.9941" x2="72.615" y2="72.8737" gradientUnits="userSpaceOnUse">
<stop stop-color="#21C3B0"/>
<stop offset="1" stop-color="#07C7B7" stop-opacity="0.951568"/>
</linearGradient>
<linearGradient id="paint1_linear" x1="67.5909" y1="57.2777" x2="64.0443" y2="65.877" gradientUnits="userSpaceOnUse">
<stop stop-color="#8EFAD9"/>
<stop offset="1" stop-color="#E8FFF4"/>
</linearGradient>
<linearGradient id="paint2_linear" x1="62.1065" y1="58.6431" x2="63.8688" y2="62.3316" gradientUnits="userSpaceOnUse">
<stop stop-color="#CFFFE6"/>
<stop offset="0.4914" stop-color="#EDFFF6"/>
</linearGradient>
<linearGradient id="paint3_linear" x1="69.2728" y1="58.6265" x2="64.4964" y2="62.9103" gradientUnits="userSpaceOnUse">
<stop stop-color="#DDFFD0"/>
<stop offset="1" stop-color="#BBFCDF"/>
</linearGradient>
<linearGradient id="paint4_linear" x1="14.0331" y1="84.2549" x2="14.0331" y2="104.059" gradientUnits="userSpaceOnUse">
<stop stop-color="#02E26E"/>
<stop offset="1" stop-color="#08C362"/>
</linearGradient>
<linearGradient id="paint5_linear" x1="18.534" y1="55.6747" x2="12.201" y2="32.359" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFC000"/>
<stop offset="1" stop-color="#FE6E00"/>
</linearGradient>
<linearGradient id="paint6_linear" x1="18.7983" y1="55.4826" x2="20.2852" y2="36.758" gradientUnits="userSpaceOnUse">
<stop stop-color="#FFDB78"/>
<stop offset="1" stop-color="#FDAC43"/>
</linearGradient>
<clipPath id="clip0">
<rect width="120" height="123.971" fill="white" transform="translate(0 0.347656)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -114,14 +114,14 @@ class FirefoxControllerTest extends WallabagCoreTestCase
->get('doctrine.orm.entity_manager')
->getRepository('WallabagCoreBundle:Entry')
->findByUrlAndUserId(
'https://lexpansion.lexpress.fr/high-tech/orange-offre-un-meilleur-reseau-mobile-que-bouygues-et-sfr-free-derriere_1811554.html',
'https://www.20minutes.fr/sport/4002755-20220928-tarn-lapins-ravagent-terrain-match-rugby-doit-etre-annule',
$this->getLoggedInUserId()
);
$this->assertInstanceOf('Wallabag\CoreBundle\Entity\Entry', $content);
$this->assertNotEmpty($content->getMimetype(), 'Mimetype for http://lexpansion.lexpress.fr is ok');
$this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for http://lexpansion.lexpress.fr is ok');
$this->assertNotEmpty($content->getLanguage(), 'Language for http://lexpansion.lexpress.fr is ok');
$this->assertNotEmpty($content->getMimetype(), 'Mimetype for https://www.20minutes.fr is ok');
$this->assertNotEmpty($content->getPreviewPicture(), 'Preview picture for https://www.20minutes.fr is ok');
$this->assertNotEmpty($content->getLanguage(), 'Language for https://www.20minutes.fr is ok');
$this->assertCount(3, $content->getTags());
$content = $client->getContainer()

View File

@ -28,14 +28,14 @@
"children": [
{
"guid": "tard77lzbC5H",
"title": "Orange offre un meilleur réseau mobile que Bouygues et SFR, Free derrière - L'Express L'Expansion",
"title": "Tarn : Des lapins ravagent le terrain, le match de rugby doit être annulé",
"index": 1,
"dateAdded": 1388166091644000,
"lastModified": 1388166091644000,
"tags": "test,tag",
"id": 4,
"type": "text/x-moz-place",
"uri": "http://lexpansion.lexpress.fr/high-tech/orange-offre-un-meilleur-reseau-mobile-que-bouygues-et-sfr-free-derriere_1811554.html"
"uri": "https://www.20minutes.fr/sport/4002755-20220928-tarn-lapins-ravagent-terrain-match-rugby-doit-etre-annule"
},
{
"guid": "E385l9vZ_LVn",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4041
yarn.lock

File diff suppressed because it is too large Load Diff