Commit Graph

3584 Commits

Author SHA1 Message Date
Alexander Skvortsov
a215fc9ed5 Fix optional parameters in url generator (#2246)
* Fix route collection getting wrong path when optional parameters present, add unit tests
2020-07-28 20:51:14 -04:00
Franz Liedke
52394776ff Apply fixes from StyleCI
[ci skip] [skip ci]
2020-07-27 19:42:23 +00:00
Franz Liedke
352f537c9d Merge pull request #2243 from flarum/fl/2055-l6-translator
Upgrade to Laravel 6, finally!
2020-07-27 21:42:01 +02:00
flarum-bot
cb95c136df Bundled output for commit ba0e2db8a7 [skip ci] 2020-07-24 22:18:35 +00:00
Alexander Skvortsov
ba0e2db8a7 Extract Composer state (#2161)
Like previous "state PRs", this moves app-wide logic relating to
our "composer" widget to its own "state" class, which can be
referenced and called from all parts of the app. This lets us
avoid storing component instances, which we cannot do any longer
once we update to Mithril v2.

This was not as trivial as some of the other state changes, as we
tried to separate DOM effects (e.g. animations) from actual state
changes (e.g. minimizing or opening the composer).

New features:

- A new `app.screen()` method returns the current responsive screen
  mode. This lets us check what breakpoint we're on in JS land  
  without hardcoding / duplicating the actual breakpoints from CSS.
- A new `SuperTextarea` util exposes useful methods for directly
  interacting with and manipulating the text contents of e.g. our
  post editor.
- A new `ConfirmDocumentUnload` wrapper component encapsulates the
  logic for asking the user for confirmation when trying to close
  the browser window or navigating to another page. This is used in
  the composer to prevent accidentally losing unsaved post content.

There is still potential for future cleanups, but we finally want   
to unblock the Mithril update, so these will have to wait:

- Composer height change logic is very DOM-based, so should maybe
  not sit in the state.
- I would love to experiment with using composition rather than
  inheritance for the `ComposerBody` subclasses.
2020-07-25 00:17:25 +02:00
flarum-bot
0dde2dcc9f Bundled output for commit 6480c6f937 [skip ci] 2020-07-24 21:53:31 +00:00
Franz Liedke
6480c6f937 Fix an irrelevant export name :P 2020-07-24 23:51:44 +02:00
Franz Liedke
c6ed69b549 Simplify a few unnecessary Arr::get() calls 2020-07-24 22:56:31 +02:00
Alexander Skvortsov
a5cff3a352 Revert "Fixes wrong IP address when using a reverse proxy (#2236)" (#2242)
This reverts commit a6cb962f97 pending further discussion of https://github.com/flarum/core/pull/2236#issuecomment-663645583
2020-07-24 14:19:10 -04:00
flarum-bot
5df2f11ace Bundled output for commit 5a60d9d7a1 [skip ci] 2020-07-24 17:03:04 +00:00
Alexander Skvortsov
5a60d9d7a1 Notifications Dropdown: Remove init method that doesn't do anything (cleanup) 2020-07-24 13:01:45 -04:00
Alexander Skvortsov
c36d13e8dc Revert "Inject Url Generator and Translator Interface into notification mailer (#2169)"
This was actually already present and functional, so adding additional code for it
is unnecessary.

This reverts commit c73ce3e768.
2020-07-24 12:44:59 -04:00
Franz Liedke
aeffe31cc1 Update to Laravel 6, finally!
Fixes #2055.
2020-07-24 17:34:40 +02:00
Franz Liedke
bf774d8a9b Make Translator compatible with Laravel 6
It's contract will change in Laravel 6. We extend from Symfony's
translator, but need to be compatible with that from Laravel in
order to use its validation package.

References:
- https://laravel.com/docs/6.x/upgrade#trans-and-trans-choice
- 8557dc56b1 (diff-88bc04a1548d09aa6250d902d1ac2b4c)
2020-07-24 17:32:50 +02:00
Franz Liedke
8a7e70550e Inject Symfony translator contract, not Laravel's
The Laravel changes with v6, and our translator is primarily an
implementation of the Symfony contract.
2020-07-24 17:31:46 +02:00
Franz Liedke
1b78f0ca60 Replace a few forgotten obsolete helpers
- Apparently, I forgot that `array_flatten` comes from Laravel. :)
- When I did this previously, I did not search the views directory.
2020-07-24 17:28:56 +02:00
Franz Liedke
9de0901293 Explicitly bundle Carbon library
We have used this transitive dependency (via illuminate/support)
for a while, so let's make this explicit.

Incidentally, we now also explicitly require version 2.x - the
previous 1.x branch will no longer be supported after the
upcoming upgrade to Laravel 6.

Refs #2055.
2020-07-24 16:46:33 +02:00
Franz Liedke
2b76b169d3 Remove Mandrill mail driver
This is in preparation for the upcoming upgrade to Laravel 6,
which dropped this driver.

Refs #2055.
2020-07-24 16:39:28 +02:00
Jake Esser
a6cb962f97 Fixes wrong IP address when using a reverse proxy (#2236)
Added reverse proxy support to preserve forwarded IPs
2020-07-22 08:55:44 -04:00
Alexander Skvortsov
89a2a9786e Deprecate AssertPermissionTrait (#2044) 2020-07-17 15:16:15 +02:00
Franz Liedke
dda253cd8e Fix deprecation and removal date 2020-07-17 12:19:48 +02:00
Alexander Skvortsov
c10ebea00c User Extender (prepareGroups functionality) (#2110) 2020-07-17 12:18:35 +02:00
Franz Liedke
b89ccaf83c Rename view extender
As discussed in my initial review, it seems unlikely that we need
the ability to remove (or otherwise modify) namespaces again.
Therefore, it seems more consistent with other extenders to go
for a "View" extender with a "namespace" method.

Sorry for the back and forth. ;)

Refs #1891, #2134.
2020-07-17 12:05:49 +02:00
Franz Liedke
3b6dbddee9 View extender: Do not resolve factory
Not all requests need this factory, so there is no need to
instantiate one and load the required files.

Refs #1891, #2134.
2020-07-17 12:05:38 +02:00
Alexander Skvortsov
cd58692fca View Extender (add namespace) (#2134) 2020-07-17 11:59:00 +02:00
Alexander Skvortsov
368a9836bd Use lifecycle interface for frontend extender (#2211) 2020-07-17 11:49:52 +02:00
dependabot[bot]
7f27f1180b Bump lodash from 4.17.15 to 4.17.19 in /js (#2235)
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-17 10:47:28 +02:00
flarum-bot
504fcb4b5f Bundled output for commit c4ffe2affd [skip ci] 2020-07-10 13:42:33 +00:00
Franz Liedke
c4ffe2affd Merge pull request #2207 from flarum/ds/typescript-conversion
Convert several files in `common/utils` to TypeScript
2020-07-10 15:41:14 +02:00
David Sevilla Martin
c81a3c0a11 convert: common/utils/stringToColor 2020-07-10 14:13:33 +02:00
David Sevilla Martin
3f25e74946 convert: common/utils/string 2020-07-10 14:13:33 +02:00
David Sevilla Martin
fb2dba6075 convert: common/utils/RequestError 2020-07-10 14:13:33 +02:00
David Sevilla Martin
20c7615c36 convert: common/utils/liveHumanTimes
This file isn't used anywhere. We should be calling it at some point. It has existed for 5 years.

Renamed function because it makes more sense for name to match file name (not that it matters when building)
2020-07-10 14:13:32 +02:00
David Sevilla Martin
961930749c convert: common/utils/abbreviateNumber 2020-07-10 14:13:32 +02:00
David Sevilla Martin
77d315585c convert: common/utils/extract 2020-07-10 14:13:31 +02:00
David Sevilla Martin
443fdfd515 convert: common/utils/ItemList 2020-07-10 14:13:31 +02:00
David Sevilla Martin
dd2f6096c1 convert: common/utils/humanTime 2020-07-10 14:05:09 +02:00
David Sevilla Martin
f1e574d843 convert: common/utils/formatNumber 2020-07-10 14:05:07 +02:00
Matt Kilgore
79bdff96c1 Add port on Url to BaseUrl Test (#2226)
Added Urls with ports to the BaseUrl Test
2020-07-10 12:17:12 +02:00
David Sevilla Martín
9f15631883 Initial TypeScript infrastructure (#2206)
This allows us to get started with converting all Flarum JavaScript code to TypeScript.
In addition, we will have time to experiment to find the best Webpack configuration before integrating into flarum-webpack-config.

See flarum/flarum-webpack-config#3.
2020-07-03 14:47:44 +02:00
flarum-bot
460aa9c910 Bundled output for commit 56b6e85255 [skip ci] 2020-07-03 05:17:34 +00:00
Alexander Skvortsov
56b6e85255 Fix discussions user page (#2225)
* Fixed up discussions user page, improve discussion list state signature
2020-07-03 01:16:08 -04:00
flarum-bot
90dd8f60a5 Bundled output for commit ca6724afe1 [skip ci] 2020-07-02 22:33:46 +00:00
Clark Winkelmann
ca6724afe1 Fix user card issue by reverting to original behavior (#2224)
* Fix user card issue by reverting to original behavior
2020-07-02 18:32:41 -04:00
Alexander Skvortsov
aa3d50c590 Don't create user bio column on new installations (#2215) 2020-07-01 17:31:52 -04:00
Alexander Skvortsov
2fef79f31a Make scrubber handle have transparent background (#2222) 2020-07-01 17:07:13 -04:00
flarum-bot
2c0856d030 Bundled output for commit e408f98104 [skip ci] 2020-07-01 00:34:15 +00:00
David Sevilla Martín
e408f98104 Switch from 'moment' to 'dayjs' (#2219)
* Switch from 'moment' to 'dayjs'

* Use humanize code from duration plugin (without actual plugin) for time lapsed events
2020-06-30 20:33:00 -04:00
flarum-bot
77a1a3afda Bundled output for commit d4def36de8 [skip ci] 2020-07-01 00:00:24 +00:00
Alexander Skvortsov
d4def36de8 Extract ModalManagerState from ModalManager (#2162) 2020-06-30 19:59:16 -04:00