Commit Graph

3884 Commits

Author SHA1 Message Date
17f15e36eb Correct non-existent cursor value (disallowed -> not-allowed) (#2585) 2021-02-01 08:58:41 -05:00
ac249e5b07 Bundled output for commit e13772075c213fba7bbfcac13176c9bc257d07fe [skip ci] 2021-01-30 22:46:26 +00:00
e13772075c Navigate to dashboard page if extension ID not found (#2584) 2021-01-30 17:45:20 -05:00
0fa33439d7 Bundled output for commit a4880453a45fe66e16689e60604e3017053dab75 [skip ci] 2021-01-30 22:44:46 +00:00
a4880453a4 Set this.changingState back to false in ExtensionPage if an error occurs (#2558) 2021-01-30 17:43:28 -05:00
964f827ee5 Fixes model visibility (#2580)
Model Visibility extender does not take into consideration missing
dependencies. For instance flarum/tags adds a policy on the Flag model
from flarum/flags. But because flarum/flags might as well not be
installed we need to check for the existence of that model. Otherwise
the exception is thrown or flarum fails to boot.
2021-01-29 08:13:16 -05:00
843daf633d Use extension names instead of IDs when erroring on enable/disable reqs (#2563) 2021-01-28 19:41:04 -05:00
930fcf9250 Make disabled extension dot a red border instead of red background (#2562) 2021-01-27 08:04:19 -05:00
9bb4423dd7 Bundled output for commit 9347b12b47bf4ab97ffb7ca92673604b237c1012 [skip ci] 2021-01-27 05:04:48 +00:00
9347b12b47 BasicsPage: fix "show language selector" default
Since some boolean settings might be stored as string "0" or "1", the previous system no longer works, and it always sets the switch to true. The "no setting" check has been changed to reference `undefined`, so now the switch will only be defaulted to `true` if the setting truly hasn't been set.

Fixes https://github.com/flarum/core/issues/2574
2021-01-27 00:03:30 -05:00
65b5c2043c PHP 8 support, cookie unit tests (#2507) 2021-01-26 17:53:28 -05:00
08f72e7135 Bundled output for commit 26c4e492fe0283a07f43a94577b3b77903a6acfe [skip ci] 2021-01-26 01:54:28 +00:00
26c4e492fe Remove unused variable 2021-01-25 20:53:07 -05:00
00913d5b0b ChangeEmailModal: dismiss alert on new request
Removing old errors at the beginning of the next request, rather than at the end of the next successful request, makes it clearer that any new errors are caused by the new inputs.

See https://github.com/flarum/core/pull/2467#issuecomment-749832787
2021-01-25 20:52:21 -05:00
1851d1678e Bundled output for commit 14dc46e2262e750c3fe986c9e3872916e9d39973 [skip ci] 2021-01-24 19:06:21 +00:00
14dc46e226 Add missing a11y attributes (#2564) 2021-01-24 14:05:14 -05:00
be163412ab Bundled output for commit 92d5c716beb0de2a57fedec512d5a34cf84c153d [skip ci] 2021-01-24 17:13:48 +00:00
92d5c716be Fix notification panel infinite scroll (#2524)
Improves calculations for determining whether we are at the bottom of the notifications panel (which would trigger infinite scroll). This should be particularly effective in fixing issues on smaller screens.
2021-01-24 12:12:42 -05:00
e42df50d31 Merge pull request #2557 from flarum/as/remove-deprecated
Remove deprecated PHP events, bootstrap.php fallback
2021-01-23 16:52:38 -05:00
203a6456ee Remove deprecated bootstrap.php support
See https://github.com/flarum/core/issues/1557
2021-01-23 16:48:29 -05:00
40b918e139 Remove deprecated API events 2021-01-23 16:48:22 -05:00
f8eea5b7c7 Bundled output for commit b50d806534bbeb6862412b89f6ff8e334572e80b [skip ci] 2021-01-23 21:44:56 +00:00
b50d806534 Convert highlight helper to Typescript (#2532) 2021-01-23 16:43:40 -05:00
cbcf83ed3b Remove deprecated formatting events 2021-01-20 16:25:32 -05:00
3394ff31e9 Remove deprecated UserPreferences event 2021-01-20 15:23:56 -05:00
86d39fb003 Remove deprecated floodgate 2021-01-20 15:23:30 -05:00
bbb7679417 Remove deprecated notification events 2021-01-20 15:23:30 -05:00
46248f601d Remove deprecated validation events 2021-01-20 15:23:30 -05:00
a68e2b27a4 Remove deprecated post types event 2021-01-20 15:22:28 -05:00
e2335e867d Remove deprecated policy and visibility scoping events 2021-01-20 15:21:30 -05:00
a10da427ff Remove deprecated CSRF wildcard path match 2021-01-20 12:01:52 -05:00
4561f56fb9 Bundled output for commit fae79ea910e3082db97be80592dfa0094bb42a00 [skip ci] 2021-01-19 22:40:14 +00:00
fae79ea910 Bring m.attrs.bidi in as a util
We previously used the tobscure/m.attrs.bidi github repo, but that repo was recently taken offline. We decided to integrate it as a util instead of publishing it as a separate package since we seem to be the only project using it, and adopting it into a new project requires barneycarroll/mattr, which does not seem to be used anywhere.

The code added here was taken from https://github.com/askvortsov1/m.attrs.bidi, a fork (without changes) of the tobscure repo. Support for alternative module systems and ways of registering bidi were removed, and the file was formatted in compliance with our prettier config.
2021-01-19 17:30:03 -05:00
9493e6230d NotificationTest: Rely on adminUser from installation 2021-01-19 17:05:53 -05:00
927ea4eec5 Add Notification extender beforeSending method (#2533) 2021-01-19 14:40:19 -05:00
89e821e70f Policies: treat true as allow, and false as deny (#2534) 2021-01-18 18:28:48 -05:00
9b2d7856d1 Add subscribe method to event extender (#2535)
Historically, extensions using subscribers has caused problems because subscribers were constructed/applied at extension boot. This caused some classes (e.g. UrlGenerator) to be resolved early, breaking parts of Flarum. For this reason, subscriber support wasn't included in the initial version of the Event extender.

However, updating extensions has shown that there is a legitimate use case for subscribers in organizing clean code; for instance, core's own `DiscussionMetadataUpdater`.

This commit introduces support for subscribers, but only applies them after the app has booted, which avoids the early resolution issues. Since event listeners/subscribers are only intended to be used with domain events, which would never be dispatched during app boot, the late activation of subscribers should not cause issue.
2021-01-15 20:33:29 -05:00
f93ec1b3b8 Bundled output for commit 2e3197d510af55daf51614aebde3a2ffed580a88 [skip ci] 2021-01-13 22:50:31 +00:00
2e3197d510 Fix DiscussionListPane jumping around (#2402)
Ensure that scroll position is retained between page changes, so if navigating via the sidebar, you don't need to re-scroll down every time.
2021-01-13 17:49:26 -05:00
85210ff6a1 Merge pull request #2304 from flarum/fl/tests-in-transaction
Run Backend Tests in Transactions
2021-01-12 21:26:59 -05:00
e5f277e640 Apply fixes from StyleCI
[ci skip] [skip ci]
2021-01-09 00:36:07 -05:00
4bac667dfd Fix fulltext search tests
Under InnoDB, database entries created in transactions are not processed by fulltext indexes until the transaction is committed. To work around this, cases that test fulltext search have been split off into a separate class that adds and removes seed discussions/posts outside of transactions during setUp/tearDown.
2021-01-09 00:35:55 -05:00
6771b3e3b7 Tests: purge settings cache
Some tests need to change settings, but since MemoryCacheSettingsRepository caches settings in-memory, those changes aren't reflected. The new `purgeSettingsCache` removes it from the container, eliminating that cache.

For UserTest, we also need to regenerate the display name driver, since that's set statically on boot, before we'll get a change to clear the settings cache.
2021-01-09 00:35:55 -05:00
fd79a14cac Tests: Add missing instantiation of data 2021-01-09 00:35:55 -05:00
c1aa1455d3 Tests: Comply with default permissions
Before transactions, each test class would need to explicitly state starting state for permissions, which made the initial permission configuration somewhat arbitrary. Now, we might as well use the initial state of the default installation.

One of the User show_test tests has been commented out until
2021-01-09 00:35:55 -05:00
ae280016e7 Tests: remove prepDb workaround
Previously, the `prepareDatabase` method would directly modify the database, booting the app in the process. This would prevent any extenders from being applied, since `->extend()` has no effect once the app is booted.

Since the new implementation of `prepareDatabase` simply registers seed data to be applied during app boot, the workaround of sticking this seed data into `prepDb` is no longer necessary, and seed data common to all test cases in a class can be provided in `setUp`.

When needed, app boot is explicitly triggered in individual test cases by calling `$this->app()`.
2021-01-09 00:35:55 -05:00
0a8816938a Add @inheritDoc to all setUp and tearDown methods 2021-01-09 00:35:55 -05:00
008ec95505 Boot app explicitly to run seeds in time 2021-01-09 00:35:47 -05:00
925628c208 Add vscode config to gitignore 2021-01-07 23:27:32 -05:00
aae83c4fbc Fix deleting posts/discussions by deleted user (#2521)
Making the $user argument nullable prevents this unnecessary exception, and doesn't introduce any issues since we check that $user exists as part of the method.
2021-01-07 17:46:14 -05:00