Commit Graph

8565 Commits

Author SHA1 Message Date
Alexander Skvortsov
60dea59815 Use github markdown utils in core, support key handlers (#2826)
This simplifies the markdown extension and allows BBCode to use these features.
It also allows undoing stuff like inserting replies/mentions
2021-05-10 17:53:32 -04:00
Alexander Skvortsov
d5c2a997b1 Run API Client requests through middleware (#2783)
- Add integration tests for login and registration
- Use URL instead of controller
- Add fluent API
- Allow setting parent request, user, session
2021-05-10 17:41:38 -04:00
flarum-bot
be62a33d23 Bundled output for commit 7ea9db7426 [skip ci] 2021-05-10 21:36:25 +00:00
Alexander Skvortsov
7ea9db7426 Editor Consolidation (#28)
- Move insertText to core
- Move styles and apply to core
- Simplify shortcut and button system
- Drop mdarea for now. In the future, we could implement the features we use (list continue, indent) in core.
- Remove admin dist (only admin setting was mdarea)
- Move inline style to css
2021-05-10 17:35:22 -04:00
flarum-bot
a7373487fb Bundled output for commit 194031bdae [skip ci] 2021-05-10 20:07:59 +00:00
David Wheatley
194031bdae Add tooltip component (#2843)
* Add Tooltip component to common

Will be used to provide backwards compatibility when we switch to CSS tooltips.

All other methods of creating tooltips are deprecated and this component-based method should be used instead.

* Modify direct child instead of using container element

Instead of using a container to house the tooltip, we'll now modify the
first direct child of the Tooltip component.

The Tooltip component will ensure that:
- children are passed to it
- only one child is present
- that child is an actual HTML Element and not a text node, or similar
- that child is currently present in the DOM

Only after all of the above are satisfied, will the tooltip be created
on that element. We store a reference to the DOM node that the tooltip
should be created on, then use this to perform tooltip actions via
jQuery. If this element gets changes (e.g. the tooltip content is
updated to another element) then the tooltip will be recreated.

If any of the first 3 requirements are not satisfied, an error will
be thrown to alert the developer to their misuse of this component.

To make this work, we do need to overwrite the title attribute of
the element with the tooltip, but this is the only solution other than
specifying `title` as an option when making the tooltip, but this is
not accessible by screenreaders unless they simulate a hover on the
element.

* Add warning about component overwriting `title` attr

* Update previous uses of Tooltip component
2021-05-10 21:06:40 +01:00
flarum-bot
382729dd46 Bundled output for commit cc7e805a4b [skip ci] 2021-05-10 18:22:48 +00:00
Alexander Skvortsov
cc7e805a4b Restore searching in tags when on tag page (#129) 2021-05-10 14:21:43 -04:00
David Wheatley
3610f08d6b Support Mithril fragments with <></> syntax (#10)
* Support Mithril fragments with `<></>` syntax

* Use '[' for pragmaFrag
2021-05-10 12:23:08 +01:00
flarum-bot
afad2dc584 Bundled output for commit 6c2d01a5b8 [skip ci] 2021-05-09 22:10:56 +00:00
Alexander Skvortsov
6c2d01a5b8 Use all Mithril lifecycle stubs (#2847) 2021-05-09 18:09:45 -04:00
David Wheatley
45602a83c6 Remove spin.js, bump some dependencies (#2848) 2021-05-09 18:09:29 -04:00
flarum-bot
c81d203e8e Bundled output for commit e7427f59da [skip ci] 2021-05-09 21:35:04 +00:00
David Wheatley
e7427f59da Fix typo in LoadingIndicator docblock 2021-05-09 22:33:33 +01:00
flarum-bot
0704952b5c Bundled output for commit 1d0d1c825a [skip ci] 2021-05-09 21:23:38 +00:00
David Wheatley
1d0d1c825a Fix required selector argument to Component.$() (#2844) 2021-05-09 17:22:22 -04:00
flarum-bot
503c3fe640 Bundled output for commit e335e316af [skip ci] 2021-05-07 16:31:01 +00:00
Alexander Skvortsov
e335e316af Fix exception in bootExtensions
Frontend extenders exist in a weird state of limbo, where they are technically defined, but aren't used or tested at all. In 114779bcfd, we shifted from passing `extension.extend` to `flattenDeep` to calling `flat` on `extension.extend`. If an extension doesn't define extenders (as is the case for most extensions), the change breaks the forum. All we do here is add a null check.
2021-05-07 12:29:10 -04:00
flarum-bot
d8ad125014 Bundled output for commit 114779bcfd [skip ci] 2021-05-05 23:29:41 +00:00
David Wheatley
114779bcfd Remove lodash from core (#2827)
* Remove `lodash-es` dependency

* Replace `escapeRegExp` with home-made util

* Replace `throttle` with `throttle-debounce` library

* Use native browser methods for `deepFlatten`

We need a polyfill for iOS 11 and below. I think using a native method with this polyfill is better than having our own function instead, even if the bundle size is ~150B more.

* Save a few bytes in `escapeRegExp`

* Fix typo in comment

* Undo import re-organisation

* Use spread instead of slice

* Use smaller Array.flat polyfill from MDN

* Export new utils in `compat.js`
2021-05-06 00:28:22 +01:00
flarum-bot
529e5bb559 Bundled output for commit 340f7d0dd1 [skip ci] 2021-05-05 14:47:48 +00:00
David Wheatley
340f7d0dd1 Remove unneeded delete (#2835) 2021-05-05 15:46:23 +01:00
Alexander Skvortsov
d16bd5a72e Remove unused variable 2021-05-04 18:15:05 -04:00
Alexander Skvortsov
8ed08b63cd Fix mentioned filtering (#67) 2021-05-04 14:57:29 -04:00
flarum-bot
42a1c97371 Bundled output for commit a1edbdc9b0 [skip ci] 2021-05-04 17:58:54 +00:00
Daniël Klabbers
a1edbdc9b0 Initial tag load performance improvement (#87)
- Only load lastPostedDiscussion on TagsPage
- For forum payload, only load top-level primary tags and top 3 secondary tags.
- In other cases, load tags in dynamically when needed.


Co-authored-by: Alexander Skvortsov <sasha.skvortsov109@gmail.com>
Co-authored-by: Sami Mazouz <sychocouldy@gmail.com>
2021-05-04 13:57:55 -04:00
Alexander Skvortsov
f8421b47b2 Centralize permission caching (#2832) 2021-05-04 13:56:14 -04:00
David Wheatley
a7f98f54fa Mark JS dist folder as generated code (#2828)
This excludes it from the repo's language stats and are suppressed in Linguist diffs.

See: https://github.com/github/linguist/blob/master/docs/overrides.md#generated-code
2021-05-04 18:13:42 +01:00
Alexander Skvortsov
712286151f Optimize tag permissions (#126)
The new implementation generates a subquery of IDs instead of sending big arrays of data to/from the database. This massively speeds up performance.
2021-05-04 12:53:20 -04:00
Robert Korulczyk
02d9033349 Update validation.yml. (#2829)
source: https://github.com/laravel/laravel/blob/v8.5.16/resources/lang/en/validation.php
2021-05-03 19:47:18 -04:00
David Wheatley
8c2642b2f2 Fix Flarum on iOS 10 and below (#9)
* Ignore .vscode folder

* Add Prettier config

* Change author to 'Flarum Team'

* Bump deps to latest version

* Format with prettier; add `loose` where needed

* Don't exclude node modules from Babel processing
2021-05-04 00:39:10 +01:00
Matt Kilgore
b6a811bbcc Harden Headers (#2721)
* Basic security headers

* Remove XSS Header (not relevent)

* Fix config name

* Use Arr::get()

* Add tests

* Re-fix the StoreConfig step for fresh installs

Co-authored-by: luceos <luceos@users.noreply.github.com>
Co-authored-by: Alexander Skvortsov <askvortsov1@users.noreply.github.com>
2021-05-03 12:42:06 -04:00
Alexander Skvortsov
87024fc8b7 Apply fixes from StyleCI
[ci skip] [skip ci]
2021-05-03 05:36:06 +00:00
Alexander Skvortsov
a22fed10a7 Use latest version of settings package
This allows us to get rid of hacks for configuring settings and config
2021-05-03 01:35:46 -04:00
Alexander Skvortsov
bd613ba70c Remove second beginTransaction
The transaction is already started in the proper `BeginTransactionAndSetDatabase` extender.
2021-05-03 01:27:06 -04:00
flarum-bot
e2b309ad95 Bundled output for commit 02d3355989 [skip ci] 2021-05-02 20:38:50 +00:00
SychO9
02d3355989 Add space when inserting a post mention 2021-05-02 21:37:31 +01:00
flarum-bot
5e0d59eedb Bundled output for commit 3893d92d4a [skip ci] 2021-05-02 16:14:09 +00:00
David Wheatley
3893d92d4a Revamp notifications stylesheet (grid and flex) (#2822) 2021-05-02 17:13:04 +01:00
flarum-bot
6f07235be0 Bundled output for commit f3eb142a57 [skip ci] 2021-05-02 10:38:26 +00:00
David Wheatley
f3eb142a57 Allow multiple methods to be provided to extend and override 2021-05-02 11:37:19 +01:00
flarum-bot
1f1c17628a Bundled output for commit b32fc37df4 [skip ci] 2021-04-30 17:00:49 +00:00
Alexander Skvortsov
b32fc37df4 Fix package-lock
b5ee8a034b accidentially commited a package-lock with symlinks, breaking the JS build process
2021-04-30 12:59:33 -04:00
Alexander Skvortsov
b5ee8a034b Switch to ICU MessageFormat (#2759) 2021-04-30 12:44:39 -04:00
Alexander Skvortsov
9461df8803 Remove unnecessary laravel config (#2796) 2021-04-30 00:31:19 +02:00
Matt Kilgore
9aa50ca6e3 Move Powered By Header to headers config (#2777)
* Move Powered By Header to headers config
* Use Arr::get()
2021-04-30 00:30:01 +02:00
David Wheatley
56a02944f1 [A11Y] Add focus ring mixin to restore ring to elements which no longer have it (#2814)
* Add focus ring mixin

These mixins allow us to restore default browser focus rings on elements which no longer have them.

* Add info about custom outline styles; use `#private` namespace and fix mixin name

I just learned that Less has namespaces! https://lesscss.org/features/#mixins-feature-namespaces
2021-04-29 22:10:17 +01:00
David Wheatley
f7d3150ce5 LESS should be capitalised as Less
See http://lesscss.org/
2021-04-29 22:07:46 +01:00
Daniël Klabbers
27e0002738 Revision compiler revised (#2805)
- revisions now use <asset>.<type>?v=<revision> instead of <asset>-<revision>.<type>- remove deprecated filename for revision method
- reconsider use of cache differentiator and implement something that
prevents recompiling css every single time
- allow force recompilation
2021-04-29 16:49:36 -04:00
Daniël Klabbers
b64698d79f error handling when extending flarum from extensions fails (#2740) 2021-04-29 16:17:41 -04:00