Commit Graph

1667 Commits

Author SHA1 Message Date
Ioannis Dressos
4c80b862a9 Add comment for changed line 2024-10-29 17:20:34 +02:00
Ioannis Dressos
b54f09f235 Update virtuser_file.php
Add operator spacing to fix coding style check
2024-10-29 17:18:18 +02:00
Ioannis Dressos
f136d490ef Update virtuser_file.php 2024-10-08 23:46:56 +03:00
Aleksander Machniak
f78df9dc08 Password: Remove reference to non-existing 'password_zxcvbn_min_score' option (#9648) 2024-10-05 08:25:42 +02:00
Aleksander Machniak
fc9b253e84 Fix new phpstan error 2024-09-29 11:48:58 +02:00
Aleksander Machniak
a4e50e3961 Managesieve: Fix current script state after initial scripts creation in managesieve_kolab_master mode 2024-09-25 11:41:03 +02:00
Aleksander Machniak
9bf6ee3452 Managesieve: Fix default script name in the config file
It is "roundcube" not "managesieve"
2024-09-25 10:03:40 +02:00
Aleksander Machniak
99629db49b ldap_modify() is an alias of ldap_mod_replace() 2024-09-07 09:12:44 +02:00
Aleksander Machniak
93cb57b021 Fix driver description again
[skip ci]
2024-09-07 09:11:39 +02:00
Aleksander Machniak
f26ed17307 Fix driver description 2024-09-07 09:04:44 +02:00
Aleksander Machniak
89d429dbee Fix two new phpstan issues 2024-08-02 09:12:48 +02:00
Aleksander Machniak
20f3988a79 Fix infinite loop when parsing malformed Sieve script (#9562) 2024-07-31 18:11:31 +02:00
Aleksander Machniak
df057fa093 Managesieve: Protect special scripts in managesieve_kolab_master mode 2024-07-28 10:58:33 +02:00
Pablo Zmdl
85094706f9 Docker compose for testing (#9525)
* More ignore-patterns in eslint config

So we don't have to specify them on the command line when we check
codestyle locally.

* Test setup for local and CI using containers

It uses standalone containers for the greenmail IMAP server and the
standalone browser.
A testrunner image is built in the CI (for `linux/amd64` only, because
Github doesn't support multi-platform building on their default
runners and we don't have our own.)

This setup helps to run the tests (reproduceably) also locally.
Previously, on my machine, they produced varying results.
It also reduces the dependencies for running the browser test.
Local execution only depends on `docker compose`, no other tools
(previously it required `sudo`, `java`, and some more.)

The previous solution should still work, if you want it.

The scripts are stored in a directory called `.ci` to hide them a little
and avoid confusion with the container images from the
`roundcubemail-docker` repo.

* Fix UI tests by waiting for element before using it

This only was a flaky problem only occurring sometimes.

* Force a new IMAP connection in plugin tests, too

In other code the initial connection is forced. Doing this here, too,
fixes occasional problems with lost imap connections.

* Make waiting for zipfile's content more robust

* CI: Run tests from script on Windows, too

* CI: Do start local chrome if no connect URL is given

* Move compose.yml to tests/

This way it's less easy mistaken as usable for running Roundcubemail in
production.

* Move compose.yml to .ci/
2024-07-22 11:44:09 +02:00
Aleksander Machniak
b14a278c9f CS fix 2024-07-18 20:04:45 +02:00
Aleksander Machniak
cc72002e71 Fix invalid line break characters in multi-line text in Sieve scripts (#9543) 2024-07-18 19:46:25 +02:00
Aleksander Machniak
d03154fdf0 Fix flaky test 2024-07-07 08:58:05 +02:00
Aleksander Machniak
92624b62dd Fix new phpstan errors 2024-07-02 19:47:15 +02:00
Aleksander Machniak
247b5c37d1 Update localizations 2024-07-02 19:07:54 +02:00
Michael Voříšek
6377477eb2 Add PHPUnit 10.x and 11.x support (#9480)
* Add PHPUnit 10.x and 11.x support

* fix undefined TestCase::getName() for PHPUnit 10+

* Add PHPUnit attributes but keep annotations
2024-06-13 18:40:29 +02:00
Aleksander Machniak
d59cfdff46 Ignore phpstan error 2024-06-07 16:07:50 +02:00
Michael Voříšek
f4272804d6 Rename test files for PHPUnit 10+ (#9477) 2024-06-05 07:46:51 +02:00
Michael Voříšek
6a5f9ee7ce Add override method attributes (#9272) 2024-06-02 15:57:56 +02:00
DannyDaemonic
7575efccda Fix notification focus on Chrome (#9467) 2024-06-01 08:19:59 +02:00
Aleksander Machniak
4dc729ab7b Update changelog
[skip ci]
2024-05-19 15:12:31 +02:00
gerbert
a0b58f1677 Add managesieve_host array handler (#9447) 2024-05-19 15:11:06 +02:00
Aleksander Machniak
8b11a9843e Cleanup raise_error() use in password drivers 2024-05-16 19:29:08 +02:00
Aleksander Machniak
2aa7098224 Wording improvement
[skip ci]
2024-05-16 16:36:20 +02:00
Aleksander Machniak
58d2b2f1ee Doc cleanup [skip ci] 2024-04-21 20:55:43 +02:00
Aleksander Machniak
3d31036aad Password: Use Guzzle HTTP Client in the cpanel driver 2024-04-21 20:19:09 +02:00
Aleksander Machniak
ad25c6f7ce Password: Use Guzzle HTTP Client in the domainfactory driver 2024-04-21 16:58:53 +02:00
Aleksander Machniak
543dde3c04 Password: Use Guzzle HTTP Client in the modoboa driver 2024-04-21 15:26:37 +02:00
Aleksander Machniak
8b024bffd3 Password: Use Guzzle HTTP Client in the plesk driver 2024-04-21 15:06:39 +02:00
Aleksander Machniak
24435fed26 Password: Use Guzzle HTTP Client in 'directadmin' driver 2024-04-21 12:56:55 +02:00
Michael Voříšek
a30e0ad438 Infer file/line location in rcube::raise_error() from backtrace (#9422)
* \n\s+'file' => __FILE__,

* \n\s+'line' => __LINE__,

* 'line' => __LINE__, 'file' => __FILE__,

* 'file' => __FILE__, 'line' => __LINE__,

* rest

* more

* improve cs

* more cs

* revert rcube_utils::preg_error changes

* impl file/line from backtrace

* Revert "revert rcube_utils::preg_error changes"
2024-04-21 11:48:35 +02:00
Aleksander Machniak
ff59ade31a Get rid of phpstan/phpstan-strict-rules 2024-04-21 11:33:51 +02:00
Aleksander Machniak
7839820d25 Password: Check that a user email is part of password in zxcvbn checker (#9404) 2024-04-14 11:07:08 +02:00
Aleksander Machniak
15659d7815 PHPCS: phpdoc_annotation_without_dot=true (default) 2024-04-14 10:32:35 +02:00
Michael Voříšek
1e360999b2 Use composer autoloader for bundled plugins testing (#9412)
* use fixed "roundcube/plugin-installer"

* Use composer autoloader for plugins testing

* cherrypick remaining from 9241 related with testing

* minor legacy autoload improvements
2024-04-11 18:28:46 +02:00
Michael Voříšek
52d8172b0f Allow composer autoloading (to coexist) (#9407)
* Replace custom loader in favor of composer native

* Load plugins using composer

* finish debug_logger plugin

* finish markasjunk plugin

* finish password plugin

* finish enigma plugin

* finish managesieve plugin

* fix ExtensionInstaller run on first install

* fix phpstan "Implicit array creation" in plugin config files

* simplify composer.json

* keep non-composer autoloading relying on include_path set in plugins

* update minimal "roundcube/plugin-installer" version

* "plugins.roundcube.net" root-only package repo is not needed

* REVERT ALL

* fix phpstan "Implicit array creation" in plugin config files

* update minimal "roundcube/plugin-installer" version

* reland composer.json changes

* fix ExtensionInstaller run on first install

* Roundcube (non plugin) tests are fine to rely on composer autoload

* fix CS of master

* not needed until strict composer autoloading

* improve comment

* revert rcmail_oauth change - fixed in plugin installer

* require fixed plugin installer
2024-04-10 12:27:43 +02:00
Aleksander Machniak
d9d51b8d9c CS fix 2024-04-07 12:09:22 +02:00
Michael Voříšek
b5a3fd646b Fix "Implicit array creation" in plugin config files (#9406)
* fix phpstan "Implicit array creation" in plugin config files
* update minimal "roundcube/plugin-installer" version
2024-04-07 12:00:03 +02:00
Aleksander Machniak
2334876063 Password: Use Guzzle HTTP Client in 'pwned' driver 2024-04-07 11:59:13 +02:00
Aleksander Machniak
e1925c47a4 Code improvements 2024-04-07 11:27:01 +02:00
Michael Voříšek
736795326c Fix plugins composer.json format (#9405)
* Check plugins composer.json using CI

* Add "require-dev" and "config.allow-plugins" to plugins

* fix composer.json format - rm invalid email

* fix composer.json format - fix ext require

* fix composer.json format - fix plugin name

* tmp

* Revert "tmp"

* fix ext in ext install

* disable plugin in plugin install until Roundcube is fully autoloadable

* fix composer.json format - fix non-canonical license name

* Revert "Add "require-dev" and "config.allow-plugins" to plugins"

* no composer install for plugins needed

* Revert "fix ext in ext install"

* add standard "Test" suffix to phpunit files

* rm unneeded "suffix" in phpunit config

* simplify phpunit config

* fix default "xhtml" doctype in unit testing

* fix test_format_date test to not rely on other tests

* even more phpunit config simplify

* stricter/unify phpunit params for E2E tests

* run E2E tests on maximal php version too with lowest deps

* "repositories" in bundled plugins are useless as for root package only

* add/unify missing plugin test
2024-04-05 17:55:46 +02:00
Michael Voříšek
bdd5de55b5 Rename composer.json.dist to composer.json (#9279)
* Rename composer.json.dist to composer.json
* fix update
2024-04-03 18:06:01 +02:00
Aleksander Machniak
4959abe07b Fix regression, cleanup 2024-04-01 13:41:31 +02:00
Aleksander Machniak
20d9edce04 Code improvements 2024-03-31 19:22:56 +02:00
Aleksander Machniak
58d28297a3 Code improvements, PHPDoc fixes 2024-03-29 16:18:20 +01:00
Aleksander Machniak
49a40ea126 Code improvements 2024-03-23 13:48:51 +01:00