Commit Graph

3241 Commits

Author SHA1 Message Date
8c65316961 Rely on default contribution guidelines
See https://help.github.com/en/articles/creating-a-default-community-health-file-for-your-organization.
2019-03-16 12:32:29 +01:00
0a818cfdf3 Bundled output for commit a21052c903bf6cfbb82edc781684ea77ddd705c7 [skip ci] 2019-03-15 17:01:09 +00:00
57204c6ed0 Fix last commit 2019-03-15 17:57:11 +01:00
a21052c903 Mail settings: Only show necessary fields (#1169) 2019-03-15 17:54:14 +01:00
441ebacfd7 Apply fixes from StyleCI (#1760)
[ci skip] [skip ci]
2019-03-13 21:32:18 +01:00
46acfb6c23 Implement mail driver classes (#1169)
This adds an interface for mail drivers to implement, defining several
methods that we need throughout Flarum to configure, validate and use
the various email drivers we can support through Laravel.

More mail drivers can be added by `extend()`ing the container binding
"mail.supported_drivers" with an arbitrary key and the name of a class
that implements our new `DriverInterface`.

This will ensure that drivers added by extensions can be properly built
and validated, even in the frontend.
2019-03-13 21:31:19 +01:00
9910e884fc Allow fallback to check for bound mail drivers (#1757) 2019-03-12 19:45:42 +01:00
d292aaabf8 Fix another documentation link
Forgotten in #1699, closes #1736.
2019-03-07 00:33:25 +01:00
d822a6f84c Apply fixes from StyleCI (#1756)
[ci skip] [skip ci]
2019-03-07 00:22:15 +01:00
26c3bcdb74 Add regression test for #1738
This should ensure we can always search for search terms that appear
either only in the subject or only in the text of discussions.
2019-03-07 00:21:43 +01:00
33deea4791 Fixes #1738 : Search Title within discussions (#1741) 2019-03-07 00:20:37 +01:00
20227a2201 Bundled output for commit 0493682dba1986e771bd16efdc926074ac304355 [skip ci] 2019-03-03 19:45:38 +00:00
0493682dba Travis: Fix build job 2019-03-03 20:39:30 +01:00
49dda87e86 npm audit fix 2019-03-03 20:29:50 +01:00
d959d08561 NPM: Update bootstrap package
The old version had a vulnerability.

See https://nvd.nist.gov/vuln/detail/CVE-2019-8331.
2019-03-03 20:27:14 +01:00
e8ab49abc1 Merge pull request #1743 from flarum/fl/test-structure
Improve test suite structure
2019-03-03 20:17:35 +01:00
296677b5fc Bundled output for commit f3931b537c9e461882152069e9ff33c04e0d540c [skip ci] 2019-02-18 07:51:00 +00:00
f3931b537c Copied over logic from EditTagModal to allow additional attributes to be send
to the API based on additional fields rendered by extending the fields.
2019-02-18 08:43:47 +01:00
d0ba4e5268 Update changelog 2019-02-14 23:40:18 +01:00
654ab4cc29 prefixes indices when installing too 2019-02-05 09:50:15 +01:00
e0becd0c7b Capsule manager (#1744)
Refactored to use the Capsule Database manager for setting up the
Flarum (mysql) connection.

This will introduce the reconnector automatically, fixing #1740
2019-02-04 23:31:12 +01:00
ed43ad9c3f Properly wrap error bag in session
Second part of fixing #1683.
2019-02-03 21:16:43 +01:00
4611abe5db Fix error redirect when resetting passwords
This was an oversight from the large database column renamings.

Fixes #1683.
2019-02-03 21:06:47 +01:00
df0bd52283 Add helpful (?) output to test setup script 2019-02-03 20:39:33 +01:00
d387a9ff02 travis: Configure setup for integration tests 2019-02-03 20:39:33 +01:00
5556df54f9 Setup Composer commands for testing and setup 2019-02-03 20:39:33 +01:00
cf746079ed Make integration tests independent
This creates a dedicated test suite for integration tests. All of them
can be run independently, and there is no order dependency - previously,
all integration tests needed the installer test to run first, and they
would fail if installation failed.

Now, the developer will have to set up a Flarum database to be used by
these tests. A setup script to make this simple will be added in the
next commit.

Small tradeoff: the installer is NOT tested in our test suite anymore,
only implicitly through the setup script. If we decide that this is a
problem, we can still set up separate, dedicated installer tests which
should probably test the web installer.
2019-02-03 20:39:32 +01:00
4d10536d35 Move integration tests to separate directory
Again, we do all of this to prepare for creating "real" test suites for
each type of tests.
2019-02-01 19:01:12 +01:00
ba16ebe61f Extract pure unit tests so that they can run fast
- Move to separate directory (base for a separate test suite)
- Inherit directly from PhpUnit
- Configure test suite with dedicated XML file
2019-02-01 19:01:09 +01:00
6484dc4982 Merge pull request #1617 from flarum/fl/installer-cleanup
Split up the installer logic
2019-02-01 17:43:59 +01:00
1a9f1f7a3d Use Collection class rather than collect() helper 2019-02-01 14:12:29 +01:00
4d1411e2a8 Improve problem description for wrong PHP version 2019-02-01 13:00:25 +01:00
968152b740 DatabaseConfig: Implement Arrayable contract 2019-02-01 13:00:07 +01:00
af185fd3d1 Fix tests 2019-02-01 10:33:21 +01:00
ed9591c16f Installer: Support reverting asset publication 2019-01-31 22:43:07 +01:00
8ad326941f Migrator: Fix resetting core migrations 2019-01-31 22:42:35 +01:00
8e4f02d994 Fix table name in migration 2019-01-31 22:01:05 +01:00
8ae85bc49f Remove obsolete dropForeign() migration
Forgotten in commit 5a04635e7aa3be34ead71488e2693faf275ea6e7.
2019-01-31 22:00:41 +01:00
7ff9a90204 Check MariaDB version, update MySQL constraint
See flarum/docs#43.
2019-01-31 21:52:10 +01:00
f4fb1ab272 Simplify DataProviderInterface
Instead of passing all these objects / arrays from one object to the
next, simply pass an Installation instance around for configuration.
2019-01-31 21:52:10 +01:00
484c6d2edb Extract DatabaseConfig class with validation 2019-01-31 21:52:09 +01:00
8b68ff6232 Extract AdminUser class that enforces invariants 2019-01-31 21:52:09 +01:00
0a59b7164e Move password confirmation validation to frontends
Since this is not strictly speaking a domain invariant, but rather
specific to the user interface where passwords are not displayed, and
should therefore be entered twice to prevent mistakes going unnoticed,
this stuff should be checked in the frontend, not in the install steps.

Next step: Ensure that all domain-specific validation is done in the
installer's domain layer. This will ensure these validations cannot be
forgotten, and keep the frontends DRY.
2019-01-31 21:52:08 +01:00
0879829dc4 Use dedicated temporary variable instead of array 2019-01-31 21:52:08 +01:00
78ba3bd854 Combine building and storing config in one step 2019-01-31 21:52:08 +01:00
44c91099cd Get rid of DefaultsDataProvider
Since we do not provide a development VM anymore, it does not make sense
to have "default" credentials etc.

To reproduce something similar, I'd suggest using a YAML or JSON file
together with the `--file` option.
2019-01-31 21:52:07 +01:00
4585f03ee3 Switch to a whitelist for enabling extensions 2019-01-31 21:52:07 +01:00
bc9e8f68f1 Move default settings to install step
The various installation "frontends" (such as GUI and console) can now
provide custom overrides, if they want to.
2019-01-31 21:52:06 +01:00
f5a21584c2 Collapse namespace imports 2019-01-31 21:52:06 +01:00
e0a508a765 Catch pipeline's own exception 2019-01-31 21:52:06 +01:00