Commit Graph

2642 Commits

Author SHA1 Message Date
Toby Zerner
190a737321 Use box-shadow instead of border for notifications badge
fixes #1481
closes #1500
2018-07-13 17:39:47 +09:30
Franz Liedke
5a607f9fa6 Merge pull request #1503 from flarum/dk/1480
Update feature-request.md
2018-07-10 20:50:57 +02:00
Daniël Klabbers
292a876ff8 Update feature-request.md 2018-07-10 06:26:29 +02:00
Daniël Klabbers
775b0e6130 Update feature-request.md
fixes #1480

This is a suggestion to improve clarification of what a feature request on our issue tracker should entail.

Changes made:

- uppercased "IMPORTANT" instead of a "Note" to clarify the importance of the comment
- removed the "serious" related information, because users often have no scale to rate seriousness against
- brought more attention to approval by a core developer or argumentation and implementation by moving that to the front
2018-07-09 10:54:37 +02:00
Franz Liedke
005b9c0cff Update doctrine/dbal version constraint
This update is needed to fix MariaDB compatibility.
See #1211.
2018-07-09 00:14:57 +02:00
Franz Liedke
fa935e609c Composer: Reorder dependencies
[ci skip]
2018-06-30 23:46:10 +02:00
flarum-bot
6fa8603de2 Bundled output for commit 651a6bf4ea [skip ci] 2018-06-30 03:05:06 +00:00
Toby Zerner
651a6bf4ea Frontend refactor (#1471)
Refactor Frontend + Asset code

- Use Laravel's Filesystem component for asset IO, meaning theoretically
  assets should be storable on S3 etc.

- More reliable checking for asset recompilation when debug mode is on,
  so you don't have to constantly delete the compiled assets to force
  a recompile. Should also fix issues with locale JS files being
  recompiled with the same name and cached.

- Remove JavaScript minification, because it will be done by Webpack
  (exception is for the TextFormatter JS).

- Add support for JS sourcemaps.

- Separate frontend view and assets completely. This is an important
  distinction because frontend assets are compiled independent of a
  request, whereas putting together a view depends on a request.

- Bind frontend view/asset factory instances to the container (in
  service providers) rather than subclassing. Asset and content
  populators can be added to these factories – these are simply objects
  that populate the asset compilers or the view with information.

- Add RouteHandlerFactory functions that make it easy to hook up a
  frontend controller with a frontend instance ± some content.

- Remove the need for "nojs"

- Fix cache:clear command

- Recompile assets when settings/enabled extensions change
2018-06-30 12:31:12 +09:30
Daniel Klabbers
92d5f8f1b3 phpversion minimum requirement changed in wrong location for installation 2018-06-28 11:40:34 +02:00
Daniel Klabbers
dd8c14666f Revert "have install command demand php 7.1 too"
This reverts commit a47f884028.
2018-06-28 11:39:19 +02:00
Daniel Klabbers
a47f884028 have install command demand php 7.1 too 2018-06-28 11:23:04 +02:00
flarum-bot
40d5633662 Bundled output for commit ebbbd63bce [skip ci] 2018-06-27 19:17:31 +00:00
Franz Liedke
ebbbd63bce Merge pull request #1456 from sijad/prevent-undefined
check class string before concat
2018-06-27 21:10:40 +02:00
Sajjad Hashemian
16060aef09 check class string before concat 2018-06-25 09:40:06 +04:30
Toby Zerner
a825a7d115 Allow a single extender to be returned (#1469)
Casting an object to an array does not have the intended effect of
wrapping the object in an array. Instead we need to explicitly check
if the returned value is an array or not.
2018-06-22 18:10:54 +09:30
flarum-bot
3bcfdd83d3 Bundled output for commit d7dd4bf8a0 [skip ci] 2018-06-22 01:24:44 +00:00
Toby Zerner
d7dd4bf8a0 [WIP] JS Extender API foundation (#1468)
* Run extenders exported by extensions
* Add some basic extenders
* Patch Mithril as the very first thing so extension code can run safely
* Load the payload into the app before booting extensions
* Setup default routes before booting extensions
2018-06-22 10:49:46 +09:30
Franz Liedke
e12386d6ec Merge pull request #1465 from flarum/tz/formatter-extender
Rename and improve FormatterConfiguration extender
2018-06-21 10:11:35 +02:00
Toby Zerner
ca28f0ca45 Merge event listener registration 2018-06-20 23:37:27 +02:00
Toby Zerner
22c911476b Rename and improve FormatterConfiguration extender
In the future we may have multiple Formatters, so by moving the config
callback to its own instance method we can leave the constructor
available to specify which formatter (like Assets and Routes). This
format also allows for other methods to be added.

Additionally, this adds logic to automatically flush the Formatter cache
whenever the extension is enabled or disabled.
2018-06-20 23:37:27 +02:00
Toby Zerner
52d0b5f11e Checkout the branch before committing 2018-06-20 14:47:37 +09:30
Toby Zerner
58b09bc7ef git config before commit [skip ci] 2018-06-20 14:42:18 +09:30
Toby Zerner
c6ebef3631 Webpack (#1367)
* Replace gulp with webpack and npm scripts for JS compilation
* Set up Travis CI to commit compiled JS
* Restructure `js` directory; only one instance of npm, forum/admin are "submodules"
* Refactor JS initializers into Application subclasses
* Maintain partial compatibility API (importing from absolute paths) for extensions
* Remove minification responsibility from PHP asset compiler
* Restructure `less` directory
2018-06-20 13:20:31 +09:30
Toby Zerner
7f68717769 New issue templates (#1459) 2018-06-20 11:16:48 +09:30
Toby Zerner
1a51bbd480 Fix discussion posts not being initialized correctly. Fixes #1455 2018-06-16 11:01:42 +09:30
Toby Zerner
48e0656601 Add comment explaining extension boot process 2018-06-15 19:25:40 +09:30
Toby Zerner
14d49c2063 Make ExtensionManager a singleton 2018-06-15 19:25:15 +09:30
Toby Zerner
d13229a1fd Prevent @ character used in searches from crashing MySQL 🙄 2018-06-15 19:24:23 +09:30
Toby Zerner
bc092c48d4 Escape string used in LIKE query 2018-06-15 19:19:43 +09:30
Toby Zerner
09528a38d0 Use imported class name 2018-06-15 19:18:47 +09:30
Toby Zerner
dd6569a773 Add Interface suffix 2018-06-15 19:17:43 +09:30
Franz Liedke
0803b5ac18 Merge pull request #1451 from sijad/create-token
rename TokenController to CreateTokenController
2018-06-06 11:51:50 +02:00
Sajjad Hashemian
818885729d rename TokenController to CreateTokenController 2018-06-06 09:40:29 +04:30
Franz Liedke
dcd1a95d5d Merge pull request #1445 from flarum/fl/migrations-simplify-interface
Migrations: Simplify interface
2018-06-04 01:05:31 +02:00
Franz Liedke
86fe1b34c4 Simplify interface of migration-related classes
Mostly, we only need a database connection, instead of one of
Laravel's "connection resolvers".

Again, this makes our life easier during installation, where
we already instantiate a database connection. We can now use
that to instantiate our own Migrator class, instead of using
the IoC container to build one.
2018-06-03 23:13:49 +02:00
Franz Liedke
1c28afce69 Migrations: always pass a schema builder
This removes the funky auto-injection capability from migration
closures. While technically removing a feature, this means we do
not need a fully-wired IoC container e.g. during installation.

Instead, all migration closures simply receive a schema builder
object (which is what most of them were already doing anyway).
2018-06-03 23:13:35 +02:00
Franz Liedke
ab5c4b7fea Composer: Sort dependencies 2018-06-02 15:07:23 +02:00
Daniël Klabbers
2ea20ab613 Update .travis.yml
remove conditional which is unnecessary
2018-05-30 10:36:00 +02:00
Franz Liedke
6b723a86e3 Merge pull request #1443 from flarum/fl/controller-to-handlers
Replace ControllerInterface with PSR-15 interface
2018-05-30 09:54:13 +02:00
Franz Liedke
837bc05840 Replace ControllerInterface with PSR-15 interface
The custom interface already had the same signature as the
one from the standard (except for the return type hint), so
why not use that one now? :)
2018-05-30 09:49:47 +02:00
Franz Liedke
85d18097b4 Merge pull request #1441 from flarum/fl/psr-15
Use PSR-15 middleware standard
2018-05-29 20:26:31 +02:00
Franz Liedke
fbf8a88de1 Merge branch 'master' into fl/psr-15 2018-05-29 20:21:31 +02:00
Daniël Klabbers
75f237b674 [wip] 1211 mariadb compatibility (#1440)
fixes #1211 

As we've already upgraded our minimum requirement to 7.1 there's no current need to force a constraint on dbal 2.7+.
2018-05-29 05:51:22 +02:00
Franz Liedke
656a64c796 Use PSR-15 middleware standard
This finally adopts the new standardized interfaces instead of the
work-in-progress ones with the `Interop\` prefix.

Since we have now updated to PHP 7.1, we can also use Stratigility
3.0 as the middleware dispatcher.
2018-05-29 00:18:24 +02:00
Franz Liedke
35dd90efed travis: Remove PHP 7.0 from build matrix 2018-05-28 23:41:32 +02:00
Franz Liedke
12bc463243 Require PHP 7.1
This will be the last PHP requirement upgrade for a while, at least
until stable (and therefore until the next major release).

We have decided to do this now, for the following reasons:
- We want to support MariaDB (and the compatible release of
  doctrine/dbal requires 7.1 as well).
- We prefer to upgrade to Laravel 5.6 sooner rather than later.
- Using the PSR-15 middleware standard is easier this way, as we do
  not have to switch from zend-stratigility to another PSR-15
  implementation. (Stratigility v3, which implements the final
  standard, requires 7.1.)
2018-05-28 23:21:22 +02:00
Daniël Klabbers
ead24fbcb8 additional tests for api controllers (#1433)
* added CreatePostControllerTest

* added DeleteDiscussionControllerTest

* added ListDiscussionControllerTest

* added TokenControllerTest

* minor improvement to policy, no need for Carbon object there, added ShowDiscussionControllerTest

* added showDiscussionControllerTest but cant make Guests view the discussion created by a user

* viewing for guests tested, we might need factories
2018-05-16 09:25:48 +02:00
Toby Zerner
f3bf16ca98 Merge pull request #1432 from clarkwinkelmann/patch-3
Configure external links before dispatching textformatter configuring event
2018-05-15 07:56:24 +09:30
Clark Winkelmann
fd97e787dd Configure external links before dispatching event
This way extensions can override the link attributes
2018-05-15 00:12:33 +02:00
Daniël Klabbers
3f429fb08c adds a few additional api controller tests (#1429)
* added CreatePostControllerTest

* added DeleteDiscussionControllerTest

* added ListDiscussionControllerTest

* Apply fixes from StyleCI

[ci skip] [skip ci]
2018-05-14 13:32:19 +02:00